/*!
* jQuery UI 1.8.7
*
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI
*/
(function (b, c) {
    function f(g) { return !b(g).parents().andSelf().filter(function () { return b.curCSS(this, "visibility") === "hidden" || b.expr.filters.hidden(this) }).length } b.ui = b.ui || {}; if (!b.ui.version) {
        b.extend(b.ui, { version: "1.8.7", keyCode: { ALT: 18, BACKSPACE: 8, CAPS_LOCK: 20, COMMA: 188, COMMAND: 91, COMMAND_LEFT: 91, COMMAND_RIGHT: 93, CONTROL: 17, DELETE: 46, DOWN: 40, END: 35, ENTER: 13, ESCAPE: 27, HOME: 36, INSERT: 45, LEFT: 37, MENU: 93, NUMPAD_ADD: 107, NUMPAD_DECIMAL: 110, NUMPAD_DIVIDE: 111, NUMPAD_ENTER: 108, NUMPAD_MULTIPLY: 106,
            NUMPAD_SUBTRACT: 109, PAGE_DOWN: 34, PAGE_UP: 33, PERIOD: 190, RIGHT: 39, SHIFT: 16, SPACE: 32, TAB: 9, UP: 38, WINDOWS: 91
        }
        }); b.fn.extend({ _focus: b.fn.focus, focus: function (g, e) { return typeof g === "number" ? this.each(function () { var a = this; setTimeout(function () { b(a).focus(); e && e.call(a) }, g) }) : this._focus.apply(this, arguments) }, scrollParent: function () {
            var g; g = b.browser.msie && /(static|relative)/.test(this.css("position")) || /absolute/.test(this.css("position")) ? this.parents().filter(function () {
                return /(relative|absolute|fixed)/.test(b.curCSS(this,
"position", 1)) && /(auto|scroll)/.test(b.curCSS(this, "overflow", 1) + b.curCSS(this, "overflow-y", 1) + b.curCSS(this, "overflow-x", 1))
            }).eq(0) : this.parents().filter(function () { return /(auto|scroll)/.test(b.curCSS(this, "overflow", 1) + b.curCSS(this, "overflow-y", 1) + b.curCSS(this, "overflow-x", 1)) }).eq(0); return /fixed/.test(this.css("position")) || !g.length ? b(document) : g
        }, zIndex: function (g) {
            if (g !== c) return this.css("zIndex", g); if (this.length) {
                g = b(this[0]); for (var e; g.length && g[0] !== document; ) {
                    e = g.css("position");
                    if (e === "absolute" || e === "relative" || e === "fixed") { e = parseInt(g.css("zIndex"), 10); if (!isNaN(e) && e !== 0) return e } g = g.parent()
                } 
            } return 0
        }, disableSelection: function () { return this.bind((b.support.selectstart ? "selectstart" : "mousedown") + ".ui-disableSelection", function (g) { g.preventDefault() }) }, enableSelection: function () { return this.unbind(".ui-disableSelection") } 
        }); b.each(["Width", "Height"], function (g, e) {
            function a(j, n, q, l) {
                b.each(d, function () {
                    n -= parseFloat(b.curCSS(j, "padding" + this, true)) || 0; if (q) n -= parseFloat(b.curCSS(j,
"border" + this + "Width", true)) || 0; if (l) n -= parseFloat(b.curCSS(j, "margin" + this, true)) || 0
                }); return n
            } var d = e === "Width" ? ["Left", "Right"] : ["Top", "Bottom"], h = e.toLowerCase(), i = { innerWidth: b.fn.innerWidth, innerHeight: b.fn.innerHeight, outerWidth: b.fn.outerWidth, outerHeight: b.fn.outerHeight }; b.fn["inner" + e] = function (j) { if (j === c) return i["inner" + e].call(this); return this.each(function () { b(this).css(h, a(this, j) + "px") }) }; b.fn["outer" + e] = function (j, n) {
                if (typeof j !== "number") return i["outer" + e].call(this, j); return this.each(function () {
                    b(this).css(h,
a(this, j, true, n) + "px")
                })
            } 
        }); b.extend(b.expr[":"], { data: function (g, e, a) { return !!b.data(g, a[3]) }, focusable: function (g) { var e = g.nodeName.toLowerCase(), a = b.attr(g, "tabindex"); if ("area" === e) { e = g.parentNode; a = e.name; if (!g.href || !a || e.nodeName.toLowerCase() !== "map") return false; g = b("img[usemap=#" + a + "]")[0]; return !!g && f(g) } return (/input|select|textarea|button|object/.test(e) ? !g.disabled : "a" == e ? g.href || !isNaN(a) : !isNaN(a)) && f(g) }, tabbable: function (g) { var e = b.attr(g, "tabindex"); return (isNaN(e) || e >= 0) && b(g).is(":focusable") } });
        b(function () { var g = document.body, e = g.appendChild(e = document.createElement("div")); b.extend(e.style, { minHeight: "100px", height: "auto", padding: 0, borderWidth: 0 }); b.support.minHeight = e.offsetHeight === 100; b.support.selectstart = "onselectstart" in e; g.removeChild(e).style.display = "none" }); b.extend(b.ui, { plugin: { add: function (g, e, a) { g = b.ui[g].prototype; for (var d in a) { g.plugins[d] = g.plugins[d] || []; g.plugins[d].push([e, a[d]]) } }, call: function (g, e, a) {
            if ((e = g.plugins[e]) && g.element[0].parentNode) for (var d = 0; d < e.length; d++) g.options[e[d][0]] &&
e[d][1].apply(g.element, a)
        } 
        }, contains: function (g, e) { return document.compareDocumentPosition ? g.compareDocumentPosition(e) & 16 : g !== e && g.contains(e) }, hasScroll: function (g, e) { if (b(g).css("overflow") === "hidden") return false; e = e && e === "left" ? "scrollLeft" : "scrollTop"; var a = false; if (g[e] > 0) return true; g[e] = 1; a = g[e] > 0; g[e] = 0; return a }, isOverAxis: function (g, e, a) { return g > e && g < e + a }, isOver: function (g, e, a, d, h, i) { return b.ui.isOverAxis(g, a, h) && b.ui.isOverAxis(e, d, i) } 
        })
    } 
})(jQuery);
(function (b, c) {
    if (b.cleanData) { var f = b.cleanData; b.cleanData = function (e) { for (var a = 0, d; (d = e[a]) != null; a++) b(d).triggerHandler("remove"); f(e) } } else { var g = b.fn.remove; b.fn.remove = function (e, a) { return this.each(function () { if (!a) if (!e || b.filter(e, [this]).length) b("*", this).add([this]).each(function () { b(this).triggerHandler("remove") }); return g.call(b(this), e, a) }) } } b.widget = function (e, a, d) {
        var h = e.split(".")[0], i; e = e.split(".")[1]; i = h + "-" + e; if (!d) { d = a; a = b.Widget } b.expr[":"][i] = function (j) {
            return !!b.data(j,
e)
        }; b[h] = b[h] || {}; b[h][e] = function (j, n) { arguments.length && this._createWidget(j, n) }; a = new a; a.options = b.extend(true, {}, a.options); b[h][e].prototype = b.extend(true, a, { namespace: h, widgetName: e, widgetEventPrefix: b[h][e].prototype.widgetEventPrefix || e, widgetBaseClass: i }, d); b.widget.bridge(e, b[h][e])
    }; b.widget.bridge = function (e, a) {
        b.fn[e] = function (d) {
            var h = typeof d === "string", i = Array.prototype.slice.call(arguments, 1), j = this; d = !h && i.length ? b.extend.apply(null, [true, d].concat(i)) : d; if (h && d.charAt(0) === "_") return j;
            h ? this.each(function () { var n = b.data(this, e), q = n && b.isFunction(n[d]) ? n[d].apply(n, i) : n; if (q !== n && q !== c) { j = q; return false } }) : this.each(function () { var n = b.data(this, e); n ? n.option(d || {})._init() : b.data(this, e, new a(d, this)) }); return j
        } 
    }; b.Widget = function (e, a) { arguments.length && this._createWidget(e, a) }; b.Widget.prototype = { widgetName: "widget", widgetEventPrefix: "", options: { disabled: false }, _createWidget: function (e, a) {
        b.data(a, this.widgetName, this); this.element = b(a); this.options = b.extend(true, {}, this.options,
this._getCreateOptions(), e); var d = this; this.element.bind("remove." + this.widgetName, function () { d.destroy() }); this._create(); this._trigger("create"); this._init()
    }, _getCreateOptions: function () { return b.metadata && b.metadata.get(this.element[0])[this.widgetName] }, _create: function () { }, _init: function () { }, destroy: function () { this.element.unbind("." + this.widgetName).removeData(this.widgetName); this.widget().unbind("." + this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass + "-disabled ui-state-disabled") },
        widget: function () { return this.element }, option: function (e, a) { var d = e; if (arguments.length === 0) return b.extend({}, this.options); if (typeof e === "string") { if (a === c) return this.options[e]; d = {}; d[e] = a } this._setOptions(d); return this }, _setOptions: function (e) { var a = this; b.each(e, function (d, h) { a._setOption(d, h) }); return this }, _setOption: function (e, a) { this.options[e] = a; if (e === "disabled") this.widget()[a ? "addClass" : "removeClass"](this.widgetBaseClass + "-disabled ui-state-disabled").attr("aria-disabled", a); return this },
        enable: function () { return this._setOption("disabled", false) }, disable: function () { return this._setOption("disabled", true) }, _trigger: function (e, a, d) { var h = this.options[e]; a = b.Event(a); a.type = (e === this.widgetEventPrefix ? e : this.widgetEventPrefix + e).toLowerCase(); d = d || {}; if (a.originalEvent) { e = b.event.props.length; for (var i; e; ) { i = b.event.props[--e]; a[i] = a.originalEvent[i] } } this.element.trigger(a, d); return !(b.isFunction(h) && h.call(this.element[0], a, d) === false || a.isDefaultPrevented()) } 
    }
})(jQuery);
(function (b) {
    b.widget("ui.mouse", { options: { cancel: ":input,option", distance: 1, delay: 0 }, _mouseInit: function () { var c = this; this.element.bind("mousedown." + this.widgetName, function (f) { return c._mouseDown(f) }).bind("click." + this.widgetName, function (f) { if (true === b.data(f.target, c.widgetName + ".preventClickEvent")) { b.removeData(f.target, c.widgetName + ".preventClickEvent"); f.stopImmediatePropagation(); return false } }); this.started = false }, _mouseDestroy: function () { this.element.unbind("." + this.widgetName) }, _mouseDown: function (c) {
        c.originalEvent =
c.originalEvent || {}; if (!c.originalEvent.mouseHandled) {
            this._mouseStarted && this._mouseUp(c); this._mouseDownEvent = c; var f = this, g = c.which == 1, e = typeof this.options.cancel == "string" ? b(c.target).parents().add(c.target).filter(this.options.cancel).length : false; if (!g || e || !this._mouseCapture(c)) return true; this.mouseDelayMet = !this.options.delay; if (!this.mouseDelayMet) this._mouseDelayTimer = setTimeout(function () { f.mouseDelayMet = true }, this.options.delay); if (this._mouseDistanceMet(c) && this._mouseDelayMet(c)) {
                this._mouseStarted =
this._mouseStart(c) !== false; if (!this._mouseStarted) { c.preventDefault(); return true } 
            } this._mouseMoveDelegate = function (a) { return f._mouseMove(a) }; this._mouseUpDelegate = function (a) { return f._mouseUp(a) }; b(document).bind("mousemove." + this.widgetName, this._mouseMoveDelegate).bind("mouseup." + this.widgetName, this._mouseUpDelegate); c.preventDefault(); return c.originalEvent.mouseHandled = true
        } 
    }, _mouseMove: function (c) {
        if (b.browser.msie && !(document.documentMode >= 9) && !c.button) return this._mouseUp(c); if (this._mouseStarted) {
            this._mouseDrag(c);
            return c.preventDefault()
        } if (this._mouseDistanceMet(c) && this._mouseDelayMet(c)) (this._mouseStarted = this._mouseStart(this._mouseDownEvent, c) !== false) ? this._mouseDrag(c) : this._mouseUp(c); return !this._mouseStarted
    }, _mouseUp: function (c) {
        b(document).unbind("mousemove." + this.widgetName, this._mouseMoveDelegate).unbind("mouseup." + this.widgetName, this._mouseUpDelegate); if (this._mouseStarted) {
            this._mouseStarted = false; c.target == this._mouseDownEvent.target && b.data(c.target, this.widgetName + ".preventClickEvent",
true); this._mouseStop(c)
        } return false
    }, _mouseDistanceMet: function (c) { return Math.max(Math.abs(this._mouseDownEvent.pageX - c.pageX), Math.abs(this._mouseDownEvent.pageY - c.pageY)) >= this.options.distance }, _mouseDelayMet: function () { return this.mouseDelayMet }, _mouseStart: function () { }, _mouseDrag: function () { }, _mouseStop: function () { }, _mouseCapture: function () { return true } 
    })
})(jQuery);
(function (b) {
    b.widget("ui.draggable", b.ui.mouse, { widgetEventPrefix: "drag", options: { addClasses: true, appendTo: "parent", axis: false, connectToSortable: false, containment: false, cursor: "auto", cursorAt: false, grid: false, handle: false, helper: "original", iframeFix: false, opacity: false, refreshPositions: false, revert: false, revertDuration: 500, scope: "default", scroll: true, scrollSensitivity: 20, scrollSpeed: 20, snap: false, snapMode: "both", snapTolerance: 20, stack: false, zIndex: false }, _create: function () {
        if (this.options.helper ==
"original" && !/^(?:r|a|f)/.test(this.element.css("position"))) this.element[0].style.position = "relative"; this.options.addClasses && this.element.addClass("ui-draggable"); this.options.disabled && this.element.addClass("ui-draggable-disabled"); this._mouseInit()
    }, destroy: function () { if (this.element.data("draggable")) { this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"); this._mouseDestroy(); return this } }, _mouseCapture: function (c) {
        var f =
this.options; if (this.helper || f.disabled || b(c.target).is(".ui-resizable-handle")) return false; this.handle = this._getHandle(c); if (!this.handle) return false; return true
    }, _mouseStart: function (c) {
        var f = this.options; this.helper = this._createHelper(c); this._cacheHelperProportions(); if (b.ui.ddmanager) b.ui.ddmanager.current = this; this._cacheMargins(); this.cssPosition = this.helper.css("position"); this.scrollParent = this.helper.scrollParent(); this.offset = this.positionAbs = this.element.offset(); this.offset = { top: this.offset.top -
this.margins.top, left: this.offset.left - this.margins.left
        }; b.extend(this.offset, { click: { left: c.pageX - this.offset.left, top: c.pageY - this.offset.top }, parent: this._getParentOffset(), relative: this._getRelativeOffset() }); this.originalPosition = this.position = this._generatePosition(c); this.originalPageX = c.pageX; this.originalPageY = c.pageY; f.cursorAt && this._adjustOffsetFromHelper(f.cursorAt); f.containment && this._setContainment(); if (this._trigger("start", c) === false) { this._clear(); return false } this._cacheHelperProportions();
        b.ui.ddmanager && !f.dropBehaviour && b.ui.ddmanager.prepareOffsets(this, c); this.helper.addClass("ui-draggable-dragging"); this._mouseDrag(c, true); return true
    }, _mouseDrag: function (c, f) {
        this.position = this._generatePosition(c); this.positionAbs = this._convertPositionTo("absolute"); if (!f) { f = this._uiHash(); if (this._trigger("drag", c, f) === false) { this._mouseUp({}); return false } this.position = f.position } if (!this.options.axis || this.options.axis != "y") this.helper[0].style.left = this.position.left + "px"; if (!this.options.axis ||
this.options.axis != "x") this.helper[0].style.top = this.position.top + "px"; b.ui.ddmanager && b.ui.ddmanager.drag(this, c); return false
    }, _mouseStop: function (c) {
        var f = false; if (b.ui.ddmanager && !this.options.dropBehaviour) f = b.ui.ddmanager.drop(this, c); if (this.dropped) { f = this.dropped; this.dropped = false } if (!this.element[0] || !this.element[0].parentNode) return false; if (this.options.revert == "invalid" && !f || this.options.revert == "valid" && f || this.options.revert === true || b.isFunction(this.options.revert) && this.options.revert.call(this.element,
f)) { var g = this; b(this.helper).animate(this.originalPosition, parseInt(this.options.revertDuration, 10), function () { g._trigger("stop", c) !== false && g._clear() }) } else this._trigger("stop", c) !== false && this._clear(); return false
    }, cancel: function () { this.helper.is(".ui-draggable-dragging") ? this._mouseUp({}) : this._clear(); return this }, _getHandle: function (c) {
        var f = !this.options.handle || !b(this.options.handle, this.element).length ? true : false; b(this.options.handle, this.element).find("*").andSelf().each(function () {
            if (this ==
c.target) f = true
        }); return f
    }, _createHelper: function (c) { var f = this.options; c = b.isFunction(f.helper) ? b(f.helper.apply(this.element[0], [c])) : f.helper == "clone" ? this.element.clone() : this.element; c.parents("body").length || c.appendTo(f.appendTo == "parent" ? this.element[0].parentNode : f.appendTo); c[0] != this.element[0] && !/(fixed|absolute)/.test(c.css("position")) && c.css("position", "absolute"); return c }, _adjustOffsetFromHelper: function (c) {
        if (typeof c == "string") c = c.split(" "); if (b.isArray(c)) c = { left: +c[0], top: +c[1] ||
0
        }; if ("left" in c) this.offset.click.left = c.left + this.margins.left; if ("right" in c) this.offset.click.left = this.helperProportions.width - c.right + this.margins.left; if ("top" in c) this.offset.click.top = c.top + this.margins.top; if ("bottom" in c) this.offset.click.top = this.helperProportions.height - c.bottom + this.margins.top
    }, _getParentOffset: function () {
        this.offsetParent = this.helper.offsetParent(); var c = this.offsetParent.offset(); if (this.cssPosition == "absolute" && this.scrollParent[0] != document && b.ui.contains(this.scrollParent[0],
this.offsetParent[0])) { c.left += this.scrollParent.scrollLeft(); c.top += this.scrollParent.scrollTop() } if (this.offsetParent[0] == document.body || this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() == "html" && b.browser.msie) c = { top: 0, left: 0 }; return { top: c.top + (parseInt(this.offsetParent.css("borderTopWidth"), 10) || 0), left: c.left + (parseInt(this.offsetParent.css("borderLeftWidth"), 10) || 0)}
    }, _getRelativeOffset: function () {
        if (this.cssPosition == "relative") {
            var c = this.element.position(); return { top: c.top -
(parseInt(this.helper.css("top"), 10) || 0) + this.scrollParent.scrollTop(), left: c.left - (parseInt(this.helper.css("left"), 10) || 0) + this.scrollParent.scrollLeft()
            }
        } else return { top: 0, left: 0}
    }, _cacheMargins: function () { this.margins = { left: parseInt(this.element.css("marginLeft"), 10) || 0, top: parseInt(this.element.css("marginTop"), 10) || 0} }, _cacheHelperProportions: function () { this.helperProportions = { width: this.helper.outerWidth(), height: this.helper.outerHeight()} }, _setContainment: function () {
        var c = this.options; if (c.containment ==
"parent") c.containment = this.helper[0].parentNode; if (c.containment == "document" || c.containment == "window") this.containment = [(c.containment == "document" ? 0 : b(window).scrollLeft()) - this.offset.relative.left - this.offset.parent.left, (c.containment == "document" ? 0 : b(window).scrollTop()) - this.offset.relative.top - this.offset.parent.top, (c.containment == "document" ? 0 : b(window).scrollLeft()) + b(c.containment == "document" ? document : window).width() - this.helperProportions.width - this.margins.left, (c.containment == "document" ?
0 : b(window).scrollTop()) + (b(c.containment == "document" ? document : window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top]; if (!/^(document|window|parent)$/.test(c.containment) && c.containment.constructor != Array) {
            var f = b(c.containment)[0]; if (f) {
                c = b(c.containment).offset(); var g = b(f).css("overflow") != "hidden"; this.containment = [c.left + (parseInt(b(f).css("borderLeftWidth"), 10) || 0) + (parseInt(b(f).css("paddingLeft"), 10) || 0) - this.margins.left, c.top + (parseInt(b(f).css("borderTopWidth"),
10) || 0) + (parseInt(b(f).css("paddingTop"), 10) || 0) - this.margins.top, c.left + (g ? Math.max(f.scrollWidth, f.offsetWidth) : f.offsetWidth) - (parseInt(b(f).css("borderLeftWidth"), 10) || 0) - (parseInt(b(f).css("paddingRight"), 10) || 0) - this.helperProportions.width - this.margins.left, c.top + (g ? Math.max(f.scrollHeight, f.offsetHeight) : f.offsetHeight) - (parseInt(b(f).css("borderTopWidth"), 10) || 0) - (parseInt(b(f).css("paddingBottom"), 10) || 0) - this.helperProportions.height - this.margins.top]
            } 
        } else if (c.containment.constructor ==
Array) this.containment = c.containment
    }, _convertPositionTo: function (c, f) {
        if (!f) f = this.position; c = c == "absolute" ? 1 : -1; var g = this.cssPosition == "absolute" && !(this.scrollParent[0] != document && b.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, e = /(html|body)/i.test(g[0].tagName); return { top: f.top + this.offset.relative.top * c + this.offset.parent.top * c - (b.browser.safari && b.browser.version < 526 && this.cssPosition == "fixed" ? 0 : (this.cssPosition == "fixed" ? -this.scrollParent.scrollTop() :
e ? 0 : g.scrollTop()) * c), left: f.left + this.offset.relative.left * c + this.offset.parent.left * c - (b.browser.safari && b.browser.version < 526 && this.cssPosition == "fixed" ? 0 : (this.cssPosition == "fixed" ? -this.scrollParent.scrollLeft() : e ? 0 : g.scrollLeft()) * c)
        }
    }, _generatePosition: function (c) {
        var f = this.options, g = this.cssPosition == "absolute" && !(this.scrollParent[0] != document && b.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, e = /(html|body)/i.test(g[0].tagName), a = c.pageX, d = c.pageY;
        if (this.originalPosition) {
            if (this.containment) { if (c.pageX - this.offset.click.left < this.containment[0]) a = this.containment[0] + this.offset.click.left; if (c.pageY - this.offset.click.top < this.containment[1]) d = this.containment[1] + this.offset.click.top; if (c.pageX - this.offset.click.left > this.containment[2]) a = this.containment[2] + this.offset.click.left; if (c.pageY - this.offset.click.top > this.containment[3]) d = this.containment[3] + this.offset.click.top } if (f.grid) {
                d = this.originalPageY + Math.round((d - this.originalPageY) /
f.grid[1]) * f.grid[1]; d = this.containment ? !(d - this.offset.click.top < this.containment[1] || d - this.offset.click.top > this.containment[3]) ? d : !(d - this.offset.click.top < this.containment[1]) ? d - f.grid[1] : d + f.grid[1] : d; a = this.originalPageX + Math.round((a - this.originalPageX) / f.grid[0]) * f.grid[0]; a = this.containment ? !(a - this.offset.click.left < this.containment[0] || a - this.offset.click.left > this.containment[2]) ? a : !(a - this.offset.click.left < this.containment[0]) ? a - f.grid[0] : a + f.grid[0] : a
            } 
        } return { top: d - this.offset.click.top -
this.offset.relative.top - this.offset.parent.top + (b.browser.safari && b.browser.version < 526 && this.cssPosition == "fixed" ? 0 : this.cssPosition == "fixed" ? -this.scrollParent.scrollTop() : e ? 0 : g.scrollTop()), left: a - this.offset.click.left - this.offset.relative.left - this.offset.parent.left + (b.browser.safari && b.browser.version < 526 && this.cssPosition == "fixed" ? 0 : this.cssPosition == "fixed" ? -this.scrollParent.scrollLeft() : e ? 0 : g.scrollLeft())
        }
    }, _clear: function () {
        this.helper.removeClass("ui-draggable-dragging"); this.helper[0] !=
this.element[0] && !this.cancelHelperRemoval && this.helper.remove(); this.helper = null; this.cancelHelperRemoval = false
    }, _trigger: function (c, f, g) { g = g || this._uiHash(); b.ui.plugin.call(this, c, [f, g]); if (c == "drag") this.positionAbs = this._convertPositionTo("absolute"); return b.Widget.prototype._trigger.call(this, c, f, g) }, plugins: {}, _uiHash: function () { return { helper: this.helper, position: this.position, originalPosition: this.originalPosition, offset: this.positionAbs} } 
    }); b.extend(b.ui.draggable, { version: "1.8.7" });
    b.ui.plugin.add("draggable", "connectToSortable", { start: function (c, f) { var g = b(this).data("draggable"), e = g.options, a = b.extend({}, f, { item: g.element }); g.sortables = []; b(e.connectToSortable).each(function () { var d = b.data(this, "sortable"); if (d && !d.options.disabled) { g.sortables.push({ instance: d, shouldRevert: d.options.revert }); d._refreshItems(); d._trigger("activate", c, a) } }) }, stop: function (c, f) {
        var g = b(this).data("draggable"), e = b.extend({}, f, { item: g.element }); b.each(g.sortables, function () {
            if (this.instance.isOver) {
                this.instance.isOver =
0; g.cancelHelperRemoval = true; this.instance.cancelHelperRemoval = false; if (this.shouldRevert) this.instance.options.revert = true; this.instance._mouseStop(c); this.instance.options.helper = this.instance.options._helper; g.options.helper == "original" && this.instance.currentItem.css({ top: "auto", left: "auto" })
            } else { this.instance.cancelHelperRemoval = false; this.instance._trigger("deactivate", c, e) } 
        })
    }, drag: function (c, f) {
        var g = b(this).data("draggable"), e = this; b.each(g.sortables, function () {
            this.instance.positionAbs =
g.positionAbs; this.instance.helperProportions = g.helperProportions; this.instance.offset.click = g.offset.click; if (this.instance._intersectsWith(this.instance.containerCache)) {
                if (!this.instance.isOver) {
                    this.instance.isOver = 1; this.instance.currentItem = b(e).clone().appendTo(this.instance.element).data("sortable-item", true); this.instance.options._helper = this.instance.options.helper; this.instance.options.helper = function () { return f.helper[0] }; c.target = this.instance.currentItem[0]; this.instance._mouseCapture(c,
true); this.instance._mouseStart(c, true, true); this.instance.offset.click.top = g.offset.click.top; this.instance.offset.click.left = g.offset.click.left; this.instance.offset.parent.left -= g.offset.parent.left - this.instance.offset.parent.left; this.instance.offset.parent.top -= g.offset.parent.top - this.instance.offset.parent.top; g._trigger("toSortable", c); g.dropped = this.instance.element; g.currentItem = g.element; this.instance.fromOutside = g
                } this.instance.currentItem && this.instance._mouseDrag(c)
            } else if (this.instance.isOver) {
                this.instance.isOver =
0; this.instance.cancelHelperRemoval = true; this.instance.options.revert = false; this.instance._trigger("out", c, this.instance._uiHash(this.instance)); this.instance._mouseStop(c, true); this.instance.options.helper = this.instance.options._helper; this.instance.currentItem.remove(); this.instance.placeholder && this.instance.placeholder.remove(); g._trigger("fromSortable", c); g.dropped = false
            } 
        })
    } 
    }); b.ui.plugin.add("draggable", "cursor", { start: function () {
        var c = b("body"), f = b(this).data("draggable").options; if (c.css("cursor")) f._cursor =
c.css("cursor"); c.css("cursor", f.cursor)
    }, stop: function () { var c = b(this).data("draggable").options; c._cursor && b("body").css("cursor", c._cursor) } 
    }); b.ui.plugin.add("draggable", "iframeFix", { start: function () { var c = b(this).data("draggable").options; b(c.iframeFix === true ? "iframe" : c.iframeFix).each(function () { b('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({ width: this.offsetWidth + "px", height: this.offsetHeight + "px", position: "absolute", opacity: "0.001", zIndex: 1E3 }).css(b(this).offset()).appendTo("body") }) },
        stop: function () { b("div.ui-draggable-iframeFix").each(function () { this.parentNode.removeChild(this) }) } 
    }); b.ui.plugin.add("draggable", "opacity", { start: function (c, f) { c = b(f.helper); f = b(this).data("draggable").options; if (c.css("opacity")) f._opacity = c.css("opacity"); c.css("opacity", f.opacity) }, stop: function (c, f) { c = b(this).data("draggable").options; c._opacity && b(f.helper).css("opacity", c._opacity) } }); b.ui.plugin.add("draggable", "scroll", { start: function () {
        var c = b(this).data("draggable"); if (c.scrollParent[0] !=
document && c.scrollParent[0].tagName != "HTML") c.overflowOffset = c.scrollParent.offset()
    }, drag: function (c) {
        var f = b(this).data("draggable"), g = f.options, e = false; if (f.scrollParent[0] != document && f.scrollParent[0].tagName != "HTML") {
            if (!g.axis || g.axis != "x") if (f.overflowOffset.top + f.scrollParent[0].offsetHeight - c.pageY < g.scrollSensitivity) f.scrollParent[0].scrollTop = e = f.scrollParent[0].scrollTop + g.scrollSpeed; else if (c.pageY - f.overflowOffset.top < g.scrollSensitivity) f.scrollParent[0].scrollTop = e = f.scrollParent[0].scrollTop -
g.scrollSpeed; if (!g.axis || g.axis != "y") if (f.overflowOffset.left + f.scrollParent[0].offsetWidth - c.pageX < g.scrollSensitivity) f.scrollParent[0].scrollLeft = e = f.scrollParent[0].scrollLeft + g.scrollSpeed; else if (c.pageX - f.overflowOffset.left < g.scrollSensitivity) f.scrollParent[0].scrollLeft = e = f.scrollParent[0].scrollLeft - g.scrollSpeed
        } else {
            if (!g.axis || g.axis != "x") if (c.pageY - b(document).scrollTop() < g.scrollSensitivity) e = b(document).scrollTop(b(document).scrollTop() - g.scrollSpeed); else if (b(window).height() -
(c.pageY - b(document).scrollTop()) < g.scrollSensitivity) e = b(document).scrollTop(b(document).scrollTop() + g.scrollSpeed); if (!g.axis || g.axis != "y") if (c.pageX - b(document).scrollLeft() < g.scrollSensitivity) e = b(document).scrollLeft(b(document).scrollLeft() - g.scrollSpeed); else if (b(window).width() - (c.pageX - b(document).scrollLeft()) < g.scrollSensitivity) e = b(document).scrollLeft(b(document).scrollLeft() + g.scrollSpeed)
        } e !== false && b.ui.ddmanager && !g.dropBehaviour && b.ui.ddmanager.prepareOffsets(f, c)
    } 
    }); b.ui.plugin.add("draggable",
"snap", { start: function () { var c = b(this).data("draggable"), f = c.options; c.snapElements = []; b(f.snap.constructor != String ? f.snap.items || ":data(draggable)" : f.snap).each(function () { var g = b(this), e = g.offset(); this != c.element[0] && c.snapElements.push({ item: this, width: g.outerWidth(), height: g.outerHeight(), top: e.top, left: e.left }) }) }, drag: function (c, f) {
    for (var g = b(this).data("draggable"), e = g.options, a = e.snapTolerance, d = f.offset.left, h = d + g.helperProportions.width, i = f.offset.top, j = i + g.helperProportions.height, n =
g.snapElements.length - 1; n >= 0; n--) {
        var q = g.snapElements[n].left, l = q + g.snapElements[n].width, k = g.snapElements[n].top, m = k + g.snapElements[n].height; if (q - a < d && d < l + a && k - a < i && i < m + a || q - a < d && d < l + a && k - a < j && j < m + a || q - a < h && h < l + a && k - a < i && i < m + a || q - a < h && h < l + a && k - a < j && j < m + a) {
            if (e.snapMode != "inner") {
                var o = Math.abs(k - j) <= a, p = Math.abs(m - i) <= a, s = Math.abs(q - h) <= a, r = Math.abs(l - d) <= a; if (o) f.position.top = g._convertPositionTo("relative", { top: k - g.helperProportions.height, left: 0 }).top - g.margins.top; if (p) f.position.top = g._convertPositionTo("relative",
{ top: m, left: 0 }).top - g.margins.top; if (s) f.position.left = g._convertPositionTo("relative", { top: 0, left: q - g.helperProportions.width }).left - g.margins.left; if (r) f.position.left = g._convertPositionTo("relative", { top: 0, left: l }).left - g.margins.left
            } var u = o || p || s || r; if (e.snapMode != "outer") {
                o = Math.abs(k - i) <= a; p = Math.abs(m - j) <= a; s = Math.abs(q - d) <= a; r = Math.abs(l - h) <= a; if (o) f.position.top = g._convertPositionTo("relative", { top: k, left: 0 }).top - g.margins.top; if (p) f.position.top = g._convertPositionTo("relative", { top: m - g.helperProportions.height,
                    left: 0
                }).top - g.margins.top; if (s) f.position.left = g._convertPositionTo("relative", { top: 0, left: q }).left - g.margins.left; if (r) f.position.left = g._convertPositionTo("relative", { top: 0, left: l - g.helperProportions.width }).left - g.margins.left
            } if (!g.snapElements[n].snapping && (o || p || s || r || u)) g.options.snap.snap && g.options.snap.snap.call(g.element, c, b.extend(g._uiHash(), { snapItem: g.snapElements[n].item })); g.snapElements[n].snapping = o || p || s || r || u
        } else {
            g.snapElements[n].snapping && g.options.snap.release && g.options.snap.release.call(g.element,
c, b.extend(g._uiHash(), { snapItem: g.snapElements[n].item })); g.snapElements[n].snapping = false
        } 
    } 
} 
}); b.ui.plugin.add("draggable", "stack", { start: function () { var c = b(this).data("draggable").options; c = b.makeArray(b(c.stack)).sort(function (g, e) { return (parseInt(b(g).css("zIndex"), 10) || 0) - (parseInt(b(e).css("zIndex"), 10) || 0) }); if (c.length) { var f = parseInt(c[0].style.zIndex) || 0; b(c).each(function (g) { this.style.zIndex = f + g }); this[0].style.zIndex = f + c.length } } }); b.ui.plugin.add("draggable", "zIndex", { start: function (c,
f) { c = b(f.helper); f = b(this).data("draggable").options; if (c.css("zIndex")) f._zIndex = c.css("zIndex"); c.css("zIndex", f.zIndex) }, stop: function (c, f) { c = b(this).data("draggable").options; c._zIndex && b(f.helper).css("zIndex", c._zIndex) } 
})
})(jQuery);
(function (b) {
    b.widget("ui.droppable", { widgetEventPrefix: "drop", options: { accept: "*", activeClass: false, addClasses: true, greedy: false, hoverClass: false, scope: "default", tolerance: "intersect" }, _create: function () {
        var c = this.options, f = c.accept; this.isover = 0; this.isout = 1; this.accept = b.isFunction(f) ? f : function (g) { return g.is(f) }; this.proportions = { width: this.element[0].offsetWidth, height: this.element[0].offsetHeight }; b.ui.ddmanager.droppables[c.scope] = b.ui.ddmanager.droppables[c.scope] || []; b.ui.ddmanager.droppables[c.scope].push(this);
        c.addClasses && this.element.addClass("ui-droppable")
    }, destroy: function () { for (var c = b.ui.ddmanager.droppables[this.options.scope], f = 0; f < c.length; f++) c[f] == this && c.splice(f, 1); this.element.removeClass("ui-droppable ui-droppable-disabled").removeData("droppable").unbind(".droppable"); return this }, _setOption: function (c, f) { if (c == "accept") this.accept = b.isFunction(f) ? f : function (g) { return g.is(f) }; b.Widget.prototype._setOption.apply(this, arguments) }, _activate: function (c) {
        var f = b.ui.ddmanager.current; this.options.activeClass &&
this.element.addClass(this.options.activeClass); f && this._trigger("activate", c, this.ui(f))
    }, _deactivate: function (c) { var f = b.ui.ddmanager.current; this.options.activeClass && this.element.removeClass(this.options.activeClass); f && this._trigger("deactivate", c, this.ui(f)) }, _over: function (c) {
        var f = b.ui.ddmanager.current; if (!(!f || (f.currentItem || f.element)[0] == this.element[0])) if (this.accept.call(this.element[0], f.currentItem || f.element)) {
            this.options.hoverClass && this.element.addClass(this.options.hoverClass);
            this._trigger("over", c, this.ui(f))
        } 
    }, _out: function (c) { var f = b.ui.ddmanager.current; if (!(!f || (f.currentItem || f.element)[0] == this.element[0])) if (this.accept.call(this.element[0], f.currentItem || f.element)) { this.options.hoverClass && this.element.removeClass(this.options.hoverClass); this._trigger("out", c, this.ui(f)) } }, _drop: function (c, f) {
        var g = f || b.ui.ddmanager.current; if (!g || (g.currentItem || g.element)[0] == this.element[0]) return false; var e = false; this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function () {
            var a =
b.data(this, "droppable"); if (a.options.greedy && !a.options.disabled && a.options.scope == g.options.scope && a.accept.call(a.element[0], g.currentItem || g.element) && b.ui.intersect(g, b.extend(a, { offset: a.element.offset() }), a.options.tolerance)) { e = true; return false } 
        }); if (e) return false; if (this.accept.call(this.element[0], g.currentItem || g.element)) {
            this.options.activeClass && this.element.removeClass(this.options.activeClass); this.options.hoverClass && this.element.removeClass(this.options.hoverClass); this._trigger("drop",
c, this.ui(g)); return this.element
        } return false
    }, ui: function (c) { return { draggable: c.currentItem || c.element, helper: c.helper, position: c.position, offset: c.positionAbs} } 
    }); b.extend(b.ui.droppable, { version: "1.8.7" }); b.ui.intersect = function (c, f, g) {
        if (!f.offset) return false; var e = (c.positionAbs || c.position.absolute).left, a = e + c.helperProportions.width, d = (c.positionAbs || c.position.absolute).top, h = d + c.helperProportions.height, i = f.offset.left, j = i + f.proportions.width, n = f.offset.top, q = n + f.proportions.height;
        switch (g) {
            case "fit": return i <= e && a <= j && n <= d && h <= q; case "intersect": return i < e + c.helperProportions.width / 2 && a - c.helperProportions.width / 2 < j && n < d + c.helperProportions.height / 2 && h - c.helperProportions.height / 2 < q; case "pointer": return b.ui.isOver((c.positionAbs || c.position.absolute).top + (c.clickOffset || c.offset.click).top, (c.positionAbs || c.position.absolute).left + (c.clickOffset || c.offset.click).left, n, i, f.proportions.height, f.proportions.width); case "touch": return (d >= n && d <= q || h >= n && h <= q || d < n && h > q) && (e >=
i && e <= j || a >= i && a <= j || e < i && a > j); default: return false
        } 
    }; b.ui.ddmanager = { current: null, droppables: { "default": [] }, prepareOffsets: function (c, f) {
        var g = b.ui.ddmanager.droppables[c.options.scope] || [], e = f ? f.type : null, a = (c.currentItem || c.element).find(":data(droppable)").andSelf(), d = 0; a: for (; d < g.length; d++) if (!(g[d].options.disabled || c && !g[d].accept.call(g[d].element[0], c.currentItem || c.element))) {
            for (var h = 0; h < a.length; h++) if (a[h] == g[d].element[0]) { g[d].proportions.height = 0; continue a } g[d].visible = g[d].element.css("display") !=
"none"; if (g[d].visible) { g[d].offset = g[d].element.offset(); g[d].proportions = { width: g[d].element[0].offsetWidth, height: g[d].element[0].offsetHeight }; e == "mousedown" && g[d]._activate.call(g[d], f) } 
        } 
    }, drop: function (c, f) {
        var g = false; b.each(b.ui.ddmanager.droppables[c.options.scope] || [], function () {
            if (this.options) {
                if (!this.options.disabled && this.visible && b.ui.intersect(c, this, this.options.tolerance)) g = g || this._drop.call(this, f); if (!this.options.disabled && this.visible && this.accept.call(this.element[0], c.currentItem ||
c.element)) { this.isout = 1; this.isover = 0; this._deactivate.call(this, f) } 
            } 
        }); return g
    }, drag: function (c, f) {
        c.options.refreshPositions && b.ui.ddmanager.prepareOffsets(c, f); b.each(b.ui.ddmanager.droppables[c.options.scope] || [], function () {
            if (!(this.options.disabled || this.greedyChild || !this.visible)) {
                var g = b.ui.intersect(c, this, this.options.tolerance); if (g = !g && this.isover == 1 ? "isout" : g && this.isover == 0 ? "isover" : null) {
                    var e; if (this.options.greedy) {
                        var a = this.element.parents(":data(droppable):eq(0)"); if (a.length) {
                            e =
b.data(a[0], "droppable"); e.greedyChild = g == "isover" ? 1 : 0
                        } 
                    } if (e && g == "isover") { e.isover = 0; e.isout = 1; e._out.call(e, f) } this[g] = 1; this[g == "isout" ? "isover" : "isout"] = 0; this[g == "isover" ? "_over" : "_out"].call(this, f); if (e && g == "isout") { e.isout = 0; e.isover = 1; e._over.call(e, f) } 
                } 
            } 
        })
    } 
    }
})(jQuery);
(function (b) {
    b.widget("ui.resizable", b.ui.mouse, { widgetEventPrefix: "resize", options: { alsoResize: false, animate: false, animateDuration: "slow", animateEasing: "swing", aspectRatio: false, autoHide: false, containment: false, ghost: false, grid: false, handles: "e,s,se", helper: false, maxHeight: null, maxWidth: null, minHeight: 10, minWidth: 10, zIndex: 1E3 }, _create: function () {
        var g = this, e = this.options; this.element.addClass("ui-resizable"); b.extend(this, { _aspectRatio: !!e.aspectRatio, aspectRatio: e.aspectRatio, originalElement: this.element,
            _proportionallyResizeElements: [], _helper: e.helper || e.ghost || e.animate ? e.helper || "ui-resizable-helper" : null
        }); if (this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)) {
            /relative/.test(this.element.css("position")) && b.browser.opera && this.element.css({ position: "relative", top: "auto", left: "auto" }); this.element.wrap(b('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({ position: this.element.css("position"), width: this.element.outerWidth(), height: this.element.outerHeight(),
                top: this.element.css("top"), left: this.element.css("left")
            })); this.element = this.element.parent().data("resizable", this.element.data("resizable")); this.elementIsWrapper = true; this.element.css({ marginLeft: this.originalElement.css("marginLeft"), marginTop: this.originalElement.css("marginTop"), marginRight: this.originalElement.css("marginRight"), marginBottom: this.originalElement.css("marginBottom") }); this.originalElement.css({ marginLeft: 0, marginTop: 0, marginRight: 0, marginBottom: 0 }); this.originalResizeStyle =
this.originalElement.css("resize"); this.originalElement.css("resize", "none"); this._proportionallyResizeElements.push(this.originalElement.css({ position: "static", zoom: 1, display: "block" })); this.originalElement.css({ margin: this.originalElement.css("margin") }); this._proportionallyResize()
        } this.handles = e.handles || (!b(".ui-resizable-handle", this.element).length ? "e,s,se" : { n: ".ui-resizable-n", e: ".ui-resizable-e", s: ".ui-resizable-s", w: ".ui-resizable-w", se: ".ui-resizable-se", sw: ".ui-resizable-sw", ne: ".ui-resizable-ne",
            nw: ".ui-resizable-nw"
        }); if (this.handles.constructor == String) { if (this.handles == "all") this.handles = "n,e,s,w,se,sw,ne,nw"; var a = this.handles.split(","); this.handles = {}; for (var d = 0; d < a.length; d++) { var h = b.trim(a[d]), i = b('<div class="ui-resizable-handle ' + ("ui-resizable-" + h) + '"></div>'); /sw|se|ne|nw/.test(h) && i.css({ zIndex: ++e.zIndex }); "se" == h && i.addClass("ui-icon ui-icon-gripsmall-diagonal-se"); this.handles[h] = ".ui-resizable-" + h; this.element.append(i) } } this._renderAxis = function (j) {
            j = j || this.element; for (var n in this.handles) {
                if (this.handles[n].constructor ==
String) this.handles[n] = b(this.handles[n], this.element).show(); if (this.elementIsWrapper && this.originalElement[0].nodeName.match(/textarea|input|select|button/i)) { var q = b(this.handles[n], this.element), l = 0; l = /sw|ne|nw|se|n|s/.test(n) ? q.outerHeight() : q.outerWidth(); q = ["padding", /ne|nw|n/.test(n) ? "Top" : /se|sw|s/.test(n) ? "Bottom" : /^e$/.test(n) ? "Right" : "Left"].join(""); j.css(q, l); this._proportionallyResize() } b(this.handles[n])
            } 
        }; this._renderAxis(this.element); this._handles = b(".ui-resizable-handle", this.element).disableSelection();
        this._handles.mouseover(function () { if (!g.resizing) { if (this.className) var j = this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i); g.axis = j && j[1] ? j[1] : "se" } }); if (e.autoHide) { this._handles.hide(); b(this.element).addClass("ui-resizable-autohide").hover(function () { b(this).removeClass("ui-resizable-autohide"); g._handles.show() }, function () { if (!g.resizing) { b(this).addClass("ui-resizable-autohide"); g._handles.hide() } }) } this._mouseInit()
    }, destroy: function () {
        this._mouseDestroy(); var g = function (a) { b(a).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove() };
        if (this.elementIsWrapper) { g(this.element); var e = this.element; e.after(this.originalElement.css({ position: e.css("position"), width: e.outerWidth(), height: e.outerHeight(), top: e.css("top"), left: e.css("left") })).remove() } this.originalElement.css("resize", this.originalResizeStyle); g(this.originalElement); return this
    }, _mouseCapture: function (g) { var e = false; for (var a in this.handles) if (b(this.handles[a])[0] == g.target) e = true; return !this.options.disabled && e }, _mouseStart: function (g) {
        var e = this.options, a = this.element.position(),
d = this.element; this.resizing = true; this.documentScroll = { top: b(document).scrollTop(), left: b(document).scrollLeft() }; if (d.is(".ui-draggable") || /absolute/.test(d.css("position"))) d.css({ position: "absolute", top: a.top, left: a.left }); b.browser.opera && /relative/.test(d.css("position")) && d.css({ position: "relative", top: "auto", left: "auto" }); this._renderProxy(); a = c(this.helper.css("left")); var h = c(this.helper.css("top")); if (e.containment) { a += b(e.containment).scrollLeft() || 0; h += b(e.containment).scrollTop() || 0 } this.offset =
this.helper.offset(); this.position = { left: a, top: h }; this.size = this._helper ? { width: d.outerWidth(), height: d.outerHeight()} : { width: d.width(), height: d.height() }; this.originalSize = this._helper ? { width: d.outerWidth(), height: d.outerHeight()} : { width: d.width(), height: d.height() }; this.originalPosition = { left: a, top: h }; this.sizeDiff = { width: d.outerWidth() - d.width(), height: d.outerHeight() - d.height() }; this.originalMousePosition = { left: g.pageX, top: g.pageY }; this.aspectRatio = typeof e.aspectRatio == "number" ? e.aspectRatio :
this.originalSize.width / this.originalSize.height || 1; e = b(".ui-resizable-" + this.axis).css("cursor"); b("body").css("cursor", e == "auto" ? this.axis + "-resize" : e); d.addClass("ui-resizable-resizing"); this._propagate("start", g); return true
    }, _mouseDrag: function (g) {
        var e = this.helper, a = this.originalMousePosition, d = this._change[this.axis]; if (!d) return false; a = d.apply(this, [g, g.pageX - a.left || 0, g.pageY - a.top || 0]); if (this._aspectRatio || g.shiftKey) a = this._updateRatio(a, g); a = this._respectSize(a, g); this._propagate("resize",
g); e.css({ top: this.position.top + "px", left: this.position.left + "px", width: this.size.width + "px", height: this.size.height + "px" }); !this._helper && this._proportionallyResizeElements.length && this._proportionallyResize(); this._updateCache(a); this._trigger("resize", g, this.ui()); return false
    }, _mouseStop: function (g) {
        this.resizing = false; var e = this.options, a = this; if (this._helper) {
            var d = this._proportionallyResizeElements, h = d.length && /textarea/i.test(d[0].nodeName); d = h && b.ui.hasScroll(d[0], "left") ? 0 : a.sizeDiff.height;
            h = { width: a.size.width - (h ? 0 : a.sizeDiff.width), height: a.size.height - d }; d = parseInt(a.element.css("left"), 10) + (a.position.left - a.originalPosition.left) || null; var i = parseInt(a.element.css("top"), 10) + (a.position.top - a.originalPosition.top) || null; e.animate || this.element.css(b.extend(h, { top: i, left: d })); a.helper.height(a.size.height); a.helper.width(a.size.width); this._helper && !e.animate && this._proportionallyResize()
        } b("body").css("cursor", "auto"); this.element.removeClass("ui-resizable-resizing"); this._propagate("stop",
g); this._helper && this.helper.remove(); return false
    }, _updateCache: function (g) { this.offset = this.helper.offset(); if (f(g.left)) this.position.left = g.left; if (f(g.top)) this.position.top = g.top; if (f(g.height)) this.size.height = g.height; if (f(g.width)) this.size.width = g.width }, _updateRatio: function (g) {
        var e = this.position, a = this.size, d = this.axis; if (g.height) g.width = a.height * this.aspectRatio; else if (g.width) g.height = a.width / this.aspectRatio; if (d == "sw") { g.left = e.left + (a.width - g.width); g.top = null } if (d == "nw") {
            g.top =
e.top + (a.height - g.height); g.left = e.left + (a.width - g.width)
        } return g
    }, _respectSize: function (g) {
        var e = this.options, a = this.axis, d = f(g.width) && e.maxWidth && e.maxWidth < g.width, h = f(g.height) && e.maxHeight && e.maxHeight < g.height, i = f(g.width) && e.minWidth && e.minWidth > g.width, j = f(g.height) && e.minHeight && e.minHeight > g.height; if (i) g.width = e.minWidth; if (j) g.height = e.minHeight; if (d) g.width = e.maxWidth; if (h) g.height = e.maxHeight; var n = this.originalPosition.left + this.originalSize.width, q = this.position.top + this.size.height,
l = /sw|nw|w/.test(a); a = /nw|ne|n/.test(a); if (i && l) g.left = n - e.minWidth; if (d && l) g.left = n - e.maxWidth; if (j && a) g.top = q - e.minHeight; if (h && a) g.top = q - e.maxHeight; if ((e = !g.width && !g.height) && !g.left && g.top) g.top = null; else if (e && !g.top && g.left) g.left = null; return g
    }, _proportionallyResize: function () {
        if (this._proportionallyResizeElements.length) for (var g = this.helper || this.element, e = 0; e < this._proportionallyResizeElements.length; e++) {
            var a = this._proportionallyResizeElements[e]; if (!this.borderDif) {
                var d = [a.css("borderTopWidth"),
a.css("borderRightWidth"), a.css("borderBottomWidth"), a.css("borderLeftWidth")], h = [a.css("paddingTop"), a.css("paddingRight"), a.css("paddingBottom"), a.css("paddingLeft")]; this.borderDif = b.map(d, function (i, j) { i = parseInt(i, 10) || 0; j = parseInt(h[j], 10) || 0; return i + j })
            } b.browser.msie && (b(g).is(":hidden") || b(g).parents(":hidden").length) || a.css({ height: g.height() - this.borderDif[0] - this.borderDif[2] || 0, width: g.width() - this.borderDif[1] - this.borderDif[3] || 0 })
        } 
    }, _renderProxy: function () {
        var g = this.options; this.elementOffset =
this.element.offset(); if (this._helper) { this.helper = this.helper || b('<div style="overflow:hidden;"></div>'); var e = b.browser.msie && b.browser.version < 7, a = e ? 1 : 0; e = e ? 2 : -1; this.helper.addClass(this._helper).css({ width: this.element.outerWidth() + e, height: this.element.outerHeight() + e, position: "absolute", left: this.elementOffset.left - a + "px", top: this.elementOffset.top - a + "px", zIndex: ++g.zIndex }); this.helper.appendTo("body").disableSelection() } else this.helper = this.element
    }, _change: { e: function (g, e) {
        return { width: this.originalSize.width +
e
        }
    }, w: function (g, e) { return { left: this.originalPosition.left + e, width: this.originalSize.width - e} }, n: function (g, e, a) { return { top: this.originalPosition.top + a, height: this.originalSize.height - a} }, s: function (g, e, a) { return { height: this.originalSize.height + a} }, se: function (g, e, a) { return b.extend(this._change.s.apply(this, arguments), this._change.e.apply(this, [g, e, a])) }, sw: function (g, e, a) { return b.extend(this._change.s.apply(this, arguments), this._change.w.apply(this, [g, e, a])) }, ne: function (g, e, a) {
        return b.extend(this._change.n.apply(this,
arguments), this._change.e.apply(this, [g, e, a]))
    }, nw: function (g, e, a) { return b.extend(this._change.n.apply(this, arguments), this._change.w.apply(this, [g, e, a])) } 
    }, _propagate: function (g, e) { b.ui.plugin.call(this, g, [e, this.ui()]); g != "resize" && this._trigger(g, e, this.ui()) }, plugins: {}, ui: function () { return { originalElement: this.originalElement, element: this.element, helper: this.helper, position: this.position, size: this.size, originalSize: this.originalSize, originalPosition: this.originalPosition} } 
    }); b.extend(b.ui.resizable,
{ version: "1.8.7" }); b.ui.plugin.add("resizable", "alsoResize", { start: function () {
    var g = b(this).data("resizable").options, e = function (a) { b(a).each(function () { var d = b(this); d.data("resizable-alsoresize", { width: parseInt(d.width(), 10), height: parseInt(d.height(), 10), left: parseInt(d.css("left"), 10), top: parseInt(d.css("top"), 10), position: d.css("position") }) }) }; if (typeof g.alsoResize == "object" && !g.alsoResize.parentNode) if (g.alsoResize.length) { g.alsoResize = g.alsoResize[0]; e(g.alsoResize) } else b.each(g.alsoResize,
function (a) { e(a) }); else e(g.alsoResize)
}, resize: function (g, e) {
    var a = b(this).data("resizable"); g = a.options; var d = a.originalSize, h = a.originalPosition, i = { height: a.size.height - d.height || 0, width: a.size.width - d.width || 0, top: a.position.top - h.top || 0, left: a.position.left - h.left || 0 }, j = function (n, q) {
        b(n).each(function () {
            var l = b(this), k = b(this).data("resizable-alsoresize"), m = {}, o = q && q.length ? q : l.parents(e.originalElement[0]).length ? ["width", "height"] : ["width", "height", "top", "left"]; b.each(o, function (p, s) {
                if ((p =
(k[s] || 0) + (i[s] || 0)) && p >= 0) m[s] = p || null
            }); if (b.browser.opera && /relative/.test(l.css("position"))) { a._revertToRelativePosition = true; l.css({ position: "absolute", top: "auto", left: "auto" }) } l.css(m)
        })
    }; typeof g.alsoResize == "object" && !g.alsoResize.nodeType ? b.each(g.alsoResize, function (n, q) { j(n, q) }) : j(g.alsoResize)
}, stop: function () {
    var g = b(this).data("resizable"), e = g.options, a = function (d) { b(d).each(function () { var h = b(this); h.css({ position: h.data("resizable-alsoresize").position }) }) }; if (g._revertToRelativePosition) {
        g._revertToRelativePosition =
false; typeof e.alsoResize == "object" && !e.alsoResize.nodeType ? b.each(e.alsoResize, function (d) { a(d) }) : a(e.alsoResize)
    } b(this).removeData("resizable-alsoresize")
} 
}); b.ui.plugin.add("resizable", "animate", { stop: function (g) {
    var e = b(this).data("resizable"), a = e.options, d = e._proportionallyResizeElements, h = d.length && /textarea/i.test(d[0].nodeName), i = h && b.ui.hasScroll(d[0], "left") ? 0 : e.sizeDiff.height; h = { width: e.size.width - (h ? 0 : e.sizeDiff.width), height: e.size.height - i }; i = parseInt(e.element.css("left"), 10) + (e.position.left -
e.originalPosition.left) || null; var j = parseInt(e.element.css("top"), 10) + (e.position.top - e.originalPosition.top) || null; e.element.animate(b.extend(h, j && i ? { top: j, left: i} : {}), { duration: a.animateDuration, easing: a.animateEasing, step: function () {
    var n = { width: parseInt(e.element.css("width"), 10), height: parseInt(e.element.css("height"), 10), top: parseInt(e.element.css("top"), 10), left: parseInt(e.element.css("left"), 10) }; d && d.length && b(d[0]).css({ width: n.width, height: n.height }); e._updateCache(n); e._propagate("resize",
g)
} 
})
} 
}); b.ui.plugin.add("resizable", "containment", { start: function () {
    var g = b(this).data("resizable"), e = g.element, a = g.options.containment; if (e = a instanceof b ? a.get(0) : /parent/.test(a) ? e.parent().get(0) : a) {
        g.containerElement = b(e); if (/document/.test(a) || a == document) { g.containerOffset = { left: 0, top: 0 }; g.containerPosition = { left: 0, top: 0 }; g.parentData = { element: b(document), left: 0, top: 0, width: b(document).width(), height: b(document).height() || document.body.parentNode.scrollHeight} } else {
            var d = b(e), h = []; b(["Top",
"Right", "Left", "Bottom"]).each(function (n, q) { h[n] = c(d.css("padding" + q)) }); g.containerOffset = d.offset(); g.containerPosition = d.position(); g.containerSize = { height: d.innerHeight() - h[3], width: d.innerWidth() - h[1] }; a = g.containerOffset; var i = g.containerSize.height, j = g.containerSize.width; j = b.ui.hasScroll(e, "left") ? e.scrollWidth : j; i = b.ui.hasScroll(e) ? e.scrollHeight : i; g.parentData = { element: e, left: a.left, top: a.top, width: j, height: i}
        } 
    } 
}, resize: function (g) {
    var e = b(this).data("resizable"), a = e.options, d = e.containerOffset,
h = e.position; g = e._aspectRatio || g.shiftKey; var i = { top: 0, left: 0 }, j = e.containerElement; if (j[0] != document && /static/.test(j.css("position"))) i = d; if (h.left < (e._helper ? d.left : 0)) { e.size.width += e._helper ? e.position.left - d.left : e.position.left - i.left; if (g) e.size.height = e.size.width / a.aspectRatio; e.position.left = a.helper ? d.left : 0 } if (h.top < (e._helper ? d.top : 0)) { e.size.height += e._helper ? e.position.top - d.top : e.position.top; if (g) e.size.width = e.size.height * a.aspectRatio; e.position.top = e._helper ? d.top : 0 } e.offset.left =
e.parentData.left + e.position.left; e.offset.top = e.parentData.top + e.position.top; a = Math.abs((e._helper ? e.offset.left - i.left : e.offset.left - i.left) + e.sizeDiff.width); d = Math.abs((e._helper ? e.offset.top - i.top : e.offset.top - d.top) + e.sizeDiff.height); h = e.containerElement.get(0) == e.element.parent().get(0); i = /relative|absolute/.test(e.containerElement.css("position")); if (h && i) a -= e.parentData.left; if (a + e.size.width >= e.parentData.width) { e.size.width = e.parentData.width - a; if (g) e.size.height = e.size.width / e.aspectRatio } if (d +
e.size.height >= e.parentData.height) { e.size.height = e.parentData.height - d; if (g) e.size.width = e.size.height * e.aspectRatio } 
}, stop: function () {
    var g = b(this).data("resizable"), e = g.options, a = g.containerOffset, d = g.containerPosition, h = g.containerElement, i = b(g.helper), j = i.offset(), n = i.outerWidth() - g.sizeDiff.width; i = i.outerHeight() - g.sizeDiff.height; g._helper && !e.animate && /relative/.test(h.css("position")) && b(this).css({ left: j.left - d.left - a.left, width: n, height: i }); g._helper && !e.animate && /static/.test(h.css("position")) &&
b(this).css({ left: j.left - d.left - a.left, width: n, height: i })
} 
}); b.ui.plugin.add("resizable", "ghost", { start: function () { var g = b(this).data("resizable"), e = g.options, a = g.size; g.ghost = g.originalElement.clone(); g.ghost.css({ opacity: 0.25, display: "block", position: "relative", height: a.height, width: a.width, margin: 0, left: 0, top: 0 }).addClass("ui-resizable-ghost").addClass(typeof e.ghost == "string" ? e.ghost : ""); g.ghost.appendTo(g.helper) }, resize: function () {
    var g = b(this).data("resizable"); g.ghost && g.ghost.css({ position: "relative",
        height: g.size.height, width: g.size.width
    })
}, stop: function () { var g = b(this).data("resizable"); g.ghost && g.helper && g.helper.get(0).removeChild(g.ghost.get(0)) } 
}); b.ui.plugin.add("resizable", "grid", { resize: function () {
    var g = b(this).data("resizable"), e = g.options, a = g.size, d = g.originalSize, h = g.originalPosition, i = g.axis; e.grid = typeof e.grid == "number" ? [e.grid, e.grid] : e.grid; var j = Math.round((a.width - d.width) / (e.grid[0] || 1)) * (e.grid[0] || 1); e = Math.round((a.height - d.height) / (e.grid[1] || 1)) * (e.grid[1] || 1); if (/^(se|s|e)$/.test(i)) {
        g.size.width =
d.width + j; g.size.height = d.height + e
    } else if (/^(ne)$/.test(i)) { g.size.width = d.width + j; g.size.height = d.height + e; g.position.top = h.top - e } else { if (/^(sw)$/.test(i)) { g.size.width = d.width + j; g.size.height = d.height + e } else { g.size.width = d.width + j; g.size.height = d.height + e; g.position.top = h.top - e } g.position.left = h.left - j } 
} 
}); var c = function (g) { return parseInt(g, 10) || 0 }, f = function (g) { return !isNaN(parseInt(g, 10)) } 
})(jQuery);
(function (b) {
    b.widget("ui.selectable", b.ui.mouse, { options: { appendTo: "body", autoRefresh: true, distance: 0, filter: "*", tolerance: "touch" }, _create: function () {
        var c = this; this.element.addClass("ui-selectable"); this.dragged = false; var f; this.refresh = function () {
            f = b(c.options.filter, c.element[0]); f.each(function () {
                var g = b(this), e = g.offset(); b.data(this, "selectable-item", { element: this, $element: g, left: e.left, top: e.top, right: e.left + g.outerWidth(), bottom: e.top + g.outerHeight(), startselected: false, selected: g.hasClass("ui-selected"),
                    selecting: g.hasClass("ui-selecting"), unselecting: g.hasClass("ui-unselecting")
                })
            })
        }; this.refresh(); this.selectees = f.addClass("ui-selectee"); this._mouseInit(); this.helper = b("<div class='ui-selectable-helper'></div>")
    }, destroy: function () { this.selectees.removeClass("ui-selectee").removeData("selectable-item"); this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable"); this._mouseDestroy(); return this }, _mouseStart: function (c) {
        var f = this; this.opos = [c.pageX,
c.pageY]; if (!this.options.disabled) {
            var g = this.options; this.selectees = b(g.filter, this.element[0]); this._trigger("start", c); b(g.appendTo).append(this.helper); this.helper.css({ left: c.clientX, top: c.clientY, width: 0, height: 0 }); g.autoRefresh && this.refresh(); this.selectees.filter(".ui-selected").each(function () {
                var e = b.data(this, "selectable-item"); e.startselected = true; if (!c.metaKey) {
                    e.$element.removeClass("ui-selected"); e.selected = false; e.$element.addClass("ui-unselecting"); e.unselecting = true; f._trigger("unselecting",
c, { unselecting: e.element })
                } 
            }); b(c.target).parents().andSelf().each(function () { var e = b.data(this, "selectable-item"); if (e) { var a = !c.metaKey || !e.$element.hasClass("ui-selected"); e.$element.removeClass(a ? "ui-unselecting" : "ui-selected").addClass(a ? "ui-selecting" : "ui-unselecting"); e.unselecting = !a; e.selecting = a; (e.selected = a) ? f._trigger("selecting", c, { selecting: e.element }) : f._trigger("unselecting", c, { unselecting: e.element }); return false } })
        } 
    }, _mouseDrag: function (c) {
        var f = this; this.dragged = true; if (!this.options.disabled) {
            var g =
this.options, e = this.opos[0], a = this.opos[1], d = c.pageX, h = c.pageY; if (e > d) { var i = d; d = e; e = i } if (a > h) { i = h; h = a; a = i } this.helper.css({ left: e, top: a, width: d - e, height: h - a }); this.selectees.each(function () {
    var j = b.data(this, "selectable-item"); if (!(!j || j.element == f.element[0])) {
        var n = false; if (g.tolerance == "touch") n = !(j.left > d || j.right < e || j.top > h || j.bottom < a); else if (g.tolerance == "fit") n = j.left > e && j.right < d && j.top > a && j.bottom < h; if (n) {
            if (j.selected) { j.$element.removeClass("ui-selected"); j.selected = false } if (j.unselecting) {
                j.$element.removeClass("ui-unselecting");
                j.unselecting = false
            } if (!j.selecting) { j.$element.addClass("ui-selecting"); j.selecting = true; f._trigger("selecting", c, { selecting: j.element }) } 
        } else {
            if (j.selecting) if (c.metaKey && j.startselected) { j.$element.removeClass("ui-selecting"); j.selecting = false; j.$element.addClass("ui-selected"); j.selected = true } else { j.$element.removeClass("ui-selecting"); j.selecting = false; if (j.startselected) { j.$element.addClass("ui-unselecting"); j.unselecting = true } f._trigger("unselecting", c, { unselecting: j.element }) } if (j.selected) if (!c.metaKey &&
!j.startselected) { j.$element.removeClass("ui-selected"); j.selected = false; j.$element.addClass("ui-unselecting"); j.unselecting = true; f._trigger("unselecting", c, { unselecting: j.element }) } 
        } 
    } 
}); return false
        } 
    }, _mouseStop: function (c) {
        var f = this; this.dragged = false; b(".ui-unselecting", this.element[0]).each(function () { var g = b.data(this, "selectable-item"); g.$element.removeClass("ui-unselecting"); g.unselecting = false; g.startselected = false; f._trigger("unselected", c, { unselected: g.element }) }); b(".ui-selecting", this.element[0]).each(function () {
            var g =
b.data(this, "selectable-item"); g.$element.removeClass("ui-selecting").addClass("ui-selected"); g.selecting = false; g.selected = true; g.startselected = true; f._trigger("selected", c, { selected: g.element })
        }); this._trigger("stop", c); this.helper.remove(); return false
    } 
    }); b.extend(b.ui.selectable, { version: "1.8.7" })
})(jQuery);
(function (b) {
    b.widget("ui.sortable", b.ui.mouse, { widgetEventPrefix: "sort", options: { appendTo: "parent", axis: false, connectWith: false, containment: false, cursor: "auto", cursorAt: false, dropOnEmpty: true, forcePlaceholderSize: false, forceHelperSize: false, grid: false, handle: false, helper: "original", items: "> *", opacity: false, placeholder: false, revert: false, scroll: true, scrollSensitivity: 20, scrollSpeed: 20, scope: "default", tolerance: "intersect", zIndex: 1E3 }, _create: function () {
        this.containerCache = {}; this.element.addClass("ui-sortable");
        this.refresh(); this.floating = this.items.length ? /left|right/.test(this.items[0].item.css("float")) : false; this.offset = this.element.offset(); this._mouseInit()
    }, destroy: function () { this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable"); this._mouseDestroy(); for (var c = this.items.length - 1; c >= 0; c--) this.items[c].item.removeData("sortable-item"); return this }, _setOption: function (c, f) {
        if (c === "disabled") { this.options[c] = f; this.widget()[f ? "addClass" : "removeClass"]("ui-sortable-disabled") } else b.Widget.prototype._setOption.apply(this,
arguments)
    }, _mouseCapture: function (c, f) {
        if (this.reverting) return false; if (this.options.disabled || this.options.type == "static") return false; this._refreshItems(c); var g = null, e = this; b(c.target).parents().each(function () { if (b.data(this, "sortable-item") == e) { g = b(this); return false } }); if (b.data(c.target, "sortable-item") == e) g = b(c.target); if (!g) return false; if (this.options.handle && !f) { var a = false; b(this.options.handle, g).find("*").andSelf().each(function () { if (this == c.target) a = true }); if (!a) return false } this.currentItem =
g; this._removeCurrentsFromItems(); return true
    }, _mouseStart: function (c, f, g) {
        f = this.options; var e = this; this.currentContainer = this; this.refreshPositions(); this.helper = this._createHelper(c); this._cacheHelperProportions(); this._cacheMargins(); this.scrollParent = this.helper.scrollParent(); this.offset = this.currentItem.offset(); this.offset = { top: this.offset.top - this.margins.top, left: this.offset.left - this.margins.left }; this.helper.css("position", "absolute"); this.cssPosition = this.helper.css("position"); b.extend(this.offset,
{ click: { left: c.pageX - this.offset.left, top: c.pageY - this.offset.top }, parent: this._getParentOffset(), relative: this._getRelativeOffset() }); this.originalPosition = this._generatePosition(c); this.originalPageX = c.pageX; this.originalPageY = c.pageY; f.cursorAt && this._adjustOffsetFromHelper(f.cursorAt); this.domPosition = { prev: this.currentItem.prev()[0], parent: this.currentItem.parent()[0] }; this.helper[0] != this.currentItem[0] && this.currentItem.hide(); this._createPlaceholder(); f.containment && this._setContainment();
        if (f.cursor) { if (b("body").css("cursor")) this._storedCursor = b("body").css("cursor"); b("body").css("cursor", f.cursor) } if (f.opacity) { if (this.helper.css("opacity")) this._storedOpacity = this.helper.css("opacity"); this.helper.css("opacity", f.opacity) } if (f.zIndex) { if (this.helper.css("zIndex")) this._storedZIndex = this.helper.css("zIndex"); this.helper.css("zIndex", f.zIndex) } if (this.scrollParent[0] != document && this.scrollParent[0].tagName != "HTML") this.overflowOffset = this.scrollParent.offset(); this._trigger("start",
c, this._uiHash()); this._preserveHelperProportions || this._cacheHelperProportions(); if (!g) for (g = this.containers.length - 1; g >= 0; g--) this.containers[g]._trigger("activate", c, e._uiHash(this)); if (b.ui.ddmanager) b.ui.ddmanager.current = this; b.ui.ddmanager && !f.dropBehaviour && b.ui.ddmanager.prepareOffsets(this, c); this.dragging = true; this.helper.addClass("ui-sortable-helper"); this._mouseDrag(c); return true
    }, _mouseDrag: function (c) {
        this.position = this._generatePosition(c); this.positionAbs = this._convertPositionTo("absolute");
        if (!this.lastPositionAbs) this.lastPositionAbs = this.positionAbs; if (this.options.scroll) {
            var f = this.options, g = false; if (this.scrollParent[0] != document && this.scrollParent[0].tagName != "HTML") {
                if (this.overflowOffset.top + this.scrollParent[0].offsetHeight - c.pageY < f.scrollSensitivity) this.scrollParent[0].scrollTop = g = this.scrollParent[0].scrollTop + f.scrollSpeed; else if (c.pageY - this.overflowOffset.top < f.scrollSensitivity) this.scrollParent[0].scrollTop = g = this.scrollParent[0].scrollTop - f.scrollSpeed; if (this.overflowOffset.left +
this.scrollParent[0].offsetWidth - c.pageX < f.scrollSensitivity) this.scrollParent[0].scrollLeft = g = this.scrollParent[0].scrollLeft + f.scrollSpeed; else if (c.pageX - this.overflowOffset.left < f.scrollSensitivity) this.scrollParent[0].scrollLeft = g = this.scrollParent[0].scrollLeft - f.scrollSpeed
            } else {
                if (c.pageY - b(document).scrollTop() < f.scrollSensitivity) g = b(document).scrollTop(b(document).scrollTop() - f.scrollSpeed); else if (b(window).height() - (c.pageY - b(document).scrollTop()) < f.scrollSensitivity) g = b(document).scrollTop(b(document).scrollTop() +
f.scrollSpeed); if (c.pageX - b(document).scrollLeft() < f.scrollSensitivity) g = b(document).scrollLeft(b(document).scrollLeft() - f.scrollSpeed); else if (b(window).width() - (c.pageX - b(document).scrollLeft()) < f.scrollSensitivity) g = b(document).scrollLeft(b(document).scrollLeft() + f.scrollSpeed)
            } g !== false && b.ui.ddmanager && !f.dropBehaviour && b.ui.ddmanager.prepareOffsets(this, c)
        } this.positionAbs = this._convertPositionTo("absolute"); if (!this.options.axis || this.options.axis != "y") this.helper[0].style.left = this.position.left +
"px"; if (!this.options.axis || this.options.axis != "x") this.helper[0].style.top = this.position.top + "px"; for (f = this.items.length - 1; f >= 0; f--) {
            g = this.items[f]; var e = g.item[0], a = this._intersectsWithPointer(g); if (a) if (e != this.currentItem[0] && this.placeholder[a == 1 ? "next" : "prev"]()[0] != e && !b.ui.contains(this.placeholder[0], e) && (this.options.type == "semi-dynamic" ? !b.ui.contains(this.element[0], e) : true)) {
                this.direction = a == 1 ? "down" : "up"; if (this.options.tolerance == "pointer" || this._intersectsWithSides(g)) this._rearrange(c,
g); else break; this._trigger("change", c, this._uiHash()); break
            } 
        } this._contactContainers(c); b.ui.ddmanager && b.ui.ddmanager.drag(this, c); this._trigger("sort", c, this._uiHash()); this.lastPositionAbs = this.positionAbs; return false
    }, _mouseStop: function (c, f) {
        if (c) {
            b.ui.ddmanager && !this.options.dropBehaviour && b.ui.ddmanager.drop(this, c); if (this.options.revert) {
                var g = this; f = g.placeholder.offset(); g.reverting = true; b(this.helper).animate({ left: f.left - this.offset.parent.left - g.margins.left + (this.offsetParent[0] ==
document.body ? 0 : this.offsetParent[0].scrollLeft), top: f.top - this.offset.parent.top - g.margins.top + (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollTop)
                }, parseInt(this.options.revert, 10) || 500, function () { g._clear(c) })
            } else this._clear(c, f); return false
        } 
    }, cancel: function () {
        var c = this; if (this.dragging) {
            this._mouseUp(); this.options.helper == "original" ? this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper") : this.currentItem.show(); for (var f = this.containers.length - 1; f >= 0; f--) {
                this.containers[f]._trigger("deactivate",
null, c._uiHash(this)); if (this.containers[f].containerCache.over) { this.containers[f]._trigger("out", null, c._uiHash(this)); this.containers[f].containerCache.over = 0 } 
            } 
        } this.placeholder[0].parentNode && this.placeholder[0].parentNode.removeChild(this.placeholder[0]); this.options.helper != "original" && this.helper && this.helper[0].parentNode && this.helper.remove(); b.extend(this, { helper: null, dragging: false, reverting: false, _noFinalSort: null }); this.domPosition.prev ? b(this.domPosition.prev).after(this.currentItem) :
b(this.domPosition.parent).prepend(this.currentItem); return this
    }, serialize: function (c) { var f = this._getItemsAsjQuery(c && c.connected), g = []; c = c || {}; b(f).each(function () { var e = (b(c.item || this).attr(c.attribute || "id") || "").match(c.expression || /(.+)[-=_](.+)/); if (e) g.push((c.key || e[1] + "[]") + "=" + (c.key && c.expression ? e[1] : e[2])) }); !g.length && c.key && g.push(c.key + "="); return g.join("&") }, toArray: function (c) {
        var f = this._getItemsAsjQuery(c && c.connected), g = []; c = c || {}; f.each(function () {
            g.push(b(c.item || this).attr(c.attribute ||
"id") || "")
        }); return g
    }, _intersectsWith: function (c) {
        var f = this.positionAbs.left, g = f + this.helperProportions.width, e = this.positionAbs.top, a = e + this.helperProportions.height, d = c.left, h = d + c.width, i = c.top, j = i + c.height, n = this.offset.click.top, q = this.offset.click.left; n = e + n > i && e + n < j && f + q > d && f + q < h; return this.options.tolerance == "pointer" || this.options.forcePointerForContainers || this.options.tolerance != "pointer" && this.helperProportions[this.floating ? "width" : "height"] > c[this.floating ? "width" : "height"] ? n : d < f +
this.helperProportions.width / 2 && g - this.helperProportions.width / 2 < h && i < e + this.helperProportions.height / 2 && a - this.helperProportions.height / 2 < j
    }, _intersectsWithPointer: function (c) {
        var f = b.ui.isOverAxis(this.positionAbs.top + this.offset.click.top, c.top, c.height); c = b.ui.isOverAxis(this.positionAbs.left + this.offset.click.left, c.left, c.width); f = f && c; c = this._getDragVerticalDirection(); var g = this._getDragHorizontalDirection(); if (!f) return false; return this.floating ? g && g == "right" || c == "down" ? 2 : 1 : c && (c == "down" ?
2 : 1)
    }, _intersectsWithSides: function (c) { var f = b.ui.isOverAxis(this.positionAbs.top + this.offset.click.top, c.top + c.height / 2, c.height); c = b.ui.isOverAxis(this.positionAbs.left + this.offset.click.left, c.left + c.width / 2, c.width); var g = this._getDragVerticalDirection(), e = this._getDragHorizontalDirection(); return this.floating && e ? e == "right" && c || e == "left" && !c : g && (g == "down" && f || g == "up" && !f) }, _getDragVerticalDirection: function () { var c = this.positionAbs.top - this.lastPositionAbs.top; return c != 0 && (c > 0 ? "down" : "up") },
        _getDragHorizontalDirection: function () { var c = this.positionAbs.left - this.lastPositionAbs.left; return c != 0 && (c > 0 ? "right" : "left") }, refresh: function (c) { this._refreshItems(c); this.refreshPositions(); return this }, _connectWith: function () { var c = this.options; return c.connectWith.constructor == String ? [c.connectWith] : c.connectWith }, _getItemsAsjQuery: function (c) {
            var f = [], g = [], e = this._connectWith(); if (e && c) for (c = e.length - 1; c >= 0; c--) for (var a = b(e[c]), d = a.length - 1; d >= 0; d--) {
                var h = b.data(a[d], "sortable"); if (h && h !=
this && !h.options.disabled) g.push([b.isFunction(h.options.items) ? h.options.items.call(h.element) : b(h.options.items, h.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), h])
            } g.push([b.isFunction(this.options.items) ? this.options.items.call(this.element, null, { options: this.options, item: this.currentItem }) : b(this.options.items, this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), this]); for (c = g.length - 1; c >= 0; c--) g[c][0].each(function () { f.push(this) }); return b(f)
        }, _removeCurrentsFromItems: function () {
            for (var c =
this.currentItem.find(":data(sortable-item)"), f = 0; f < this.items.length; f++) for (var g = 0; g < c.length; g++) c[g] == this.items[f].item[0] && this.items.splice(f, 1)
        }, _refreshItems: function (c) {
            this.items = []; this.containers = [this]; var f = this.items, g = [[b.isFunction(this.options.items) ? this.options.items.call(this.element[0], c, { item: this.currentItem }) : b(this.options.items, this.element), this]], e = this._connectWith(); if (e) for (var a = e.length - 1; a >= 0; a--) for (var d = b(e[a]), h = d.length - 1; h >= 0; h--) {
                var i = b.data(d[h], "sortable");
                if (i && i != this && !i.options.disabled) { g.push([b.isFunction(i.options.items) ? i.options.items.call(i.element[0], c, { item: this.currentItem }) : b(i.options.items, i.element), i]); this.containers.push(i) } 
            } for (a = g.length - 1; a >= 0; a--) { c = g[a][1]; e = g[a][0]; h = 0; for (d = e.length; h < d; h++) { i = b(e[h]); i.data("sortable-item", c); f.push({ item: i, instance: c, width: 0, height: 0, left: 0, top: 0 }) } } 
        }, refreshPositions: function (c) {
            if (this.offsetParent && this.helper) this.offset.parent = this._getParentOffset(); for (var f = this.items.length - 1; f >=
0; f--) { var g = this.items[f], e = this.options.toleranceElement ? b(this.options.toleranceElement, g.item) : g.item; if (!c) { g.width = e.outerWidth(); g.height = e.outerHeight() } e = e.offset(); g.left = e.left; g.top = e.top } if (this.options.custom && this.options.custom.refreshContainers) this.options.custom.refreshContainers.call(this); else for (f = this.containers.length - 1; f >= 0; f--) {
                e = this.containers[f].element.offset(); this.containers[f].containerCache.left = e.left; this.containers[f].containerCache.top = e.top; this.containers[f].containerCache.width =
this.containers[f].element.outerWidth(); this.containers[f].containerCache.height = this.containers[f].element.outerHeight()
            } return this
        }, _createPlaceholder: function (c) {
            var f = c || this, g = f.options; if (!g.placeholder || g.placeholder.constructor == String) {
                var e = g.placeholder; g.placeholder = { element: function () { var a = b(document.createElement(f.currentItem[0].nodeName)).addClass(e || f.currentItem[0].className + " ui-sortable-placeholder").removeClass("ui-sortable-helper")[0]; if (!e) a.style.visibility = "hidden"; return a },
                    update: function (a, d) { if (!(e && !g.forcePlaceholderSize)) { d.height() || d.height(f.currentItem.innerHeight() - parseInt(f.currentItem.css("paddingTop") || 0, 10) - parseInt(f.currentItem.css("paddingBottom") || 0, 10)); d.width() || d.width(f.currentItem.innerWidth() - parseInt(f.currentItem.css("paddingLeft") || 0, 10) - parseInt(f.currentItem.css("paddingRight") || 0, 10)) } } 
                }
            } f.placeholder = b(g.placeholder.element.call(f.element, f.currentItem)); f.currentItem.after(f.placeholder); g.placeholder.update(f, f.placeholder)
        }, _contactContainers: function (c) {
            for (var f =
null, g = null, e = this.containers.length - 1; e >= 0; e--) if (!b.ui.contains(this.currentItem[0], this.containers[e].element[0])) if (this._intersectsWith(this.containers[e].containerCache)) { if (!(f && b.ui.contains(this.containers[e].element[0], f.element[0]))) { f = this.containers[e]; g = e } } else if (this.containers[e].containerCache.over) { this.containers[e]._trigger("out", c, this._uiHash(this)); this.containers[e].containerCache.over = 0 } if (f) if (this.containers.length === 1) {
                this.containers[g]._trigger("over", c, this._uiHash(this));
                this.containers[g].containerCache.over = 1
            } else if (this.currentContainer != this.containers[g]) {
                f = 1E4; e = null; for (var a = this.positionAbs[this.containers[g].floating ? "left" : "top"], d = this.items.length - 1; d >= 0; d--) if (b.ui.contains(this.containers[g].element[0], this.items[d].item[0])) { var h = this.items[d][this.containers[g].floating ? "left" : "top"]; if (Math.abs(h - a) < f) { f = Math.abs(h - a); e = this.items[d] } } if (e || this.options.dropOnEmpty) {
                    this.currentContainer = this.containers[g]; e ? this._rearrange(c, e, null, true) : this._rearrange(c,
null, this.containers[g].element, true); this._trigger("change", c, this._uiHash()); this.containers[g]._trigger("change", c, this._uiHash(this)); this.options.placeholder.update(this.currentContainer, this.placeholder); this.containers[g]._trigger("over", c, this._uiHash(this)); this.containers[g].containerCache.over = 1
                } 
            } 
        }, _createHelper: function (c) {
            var f = this.options; c = b.isFunction(f.helper) ? b(f.helper.apply(this.element[0], [c, this.currentItem])) : f.helper == "clone" ? this.currentItem.clone() : this.currentItem; c.parents("body").length ||
b(f.appendTo != "parent" ? f.appendTo : this.currentItem[0].parentNode)[0].appendChild(c[0]); if (c[0] == this.currentItem[0]) this._storedCSS = { width: this.currentItem[0].style.width, height: this.currentItem[0].style.height, position: this.currentItem.css("position"), top: this.currentItem.css("top"), left: this.currentItem.css("left") }; if (c[0].style.width == "" || f.forceHelperSize) c.width(this.currentItem.width()); if (c[0].style.height == "" || f.forceHelperSize) c.height(this.currentItem.height()); return c
        }, _adjustOffsetFromHelper: function (c) {
            if (typeof c ==
"string") c = c.split(" "); if (b.isArray(c)) c = { left: +c[0], top: +c[1] || 0 }; if ("left" in c) this.offset.click.left = c.left + this.margins.left; if ("right" in c) this.offset.click.left = this.helperProportions.width - c.right + this.margins.left; if ("top" in c) this.offset.click.top = c.top + this.margins.top; if ("bottom" in c) this.offset.click.top = this.helperProportions.height - c.bottom + this.margins.top
        }, _getParentOffset: function () {
            this.offsetParent = this.helper.offsetParent(); var c = this.offsetParent.offset(); if (this.cssPosition ==
"absolute" && this.scrollParent[0] != document && b.ui.contains(this.scrollParent[0], this.offsetParent[0])) { c.left += this.scrollParent.scrollLeft(); c.top += this.scrollParent.scrollTop() } if (this.offsetParent[0] == document.body || this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() == "html" && b.browser.msie) c = { top: 0, left: 0 }; return { top: c.top + (parseInt(this.offsetParent.css("borderTopWidth"), 10) || 0), left: c.left + (parseInt(this.offsetParent.css("borderLeftWidth"), 10) || 0)}
        }, _getRelativeOffset: function () {
            if (this.cssPosition ==
"relative") { var c = this.currentItem.position(); return { top: c.top - (parseInt(this.helper.css("top"), 10) || 0) + this.scrollParent.scrollTop(), left: c.left - (parseInt(this.helper.css("left"), 10) || 0) + this.scrollParent.scrollLeft()} } else return { top: 0, left: 0}
        }, _cacheMargins: function () { this.margins = { left: parseInt(this.currentItem.css("marginLeft"), 10) || 0, top: parseInt(this.currentItem.css("marginTop"), 10) || 0} }, _cacheHelperProportions: function () { this.helperProportions = { width: this.helper.outerWidth(), height: this.helper.outerHeight()} },
        _setContainment: function () {
            var c = this.options; if (c.containment == "parent") c.containment = this.helper[0].parentNode; if (c.containment == "document" || c.containment == "window") this.containment = [0 - this.offset.relative.left - this.offset.parent.left, 0 - this.offset.relative.top - this.offset.parent.top, b(c.containment == "document" ? document : window).width() - this.helperProportions.width - this.margins.left, (b(c.containment == "document" ? document : window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height -
this.margins.top]; if (!/^(document|window|parent)$/.test(c.containment)) {
                var f = b(c.containment)[0]; c = b(c.containment).offset(); var g = b(f).css("overflow") != "hidden"; this.containment = [c.left + (parseInt(b(f).css("borderLeftWidth"), 10) || 0) + (parseInt(b(f).css("paddingLeft"), 10) || 0) - this.margins.left, c.top + (parseInt(b(f).css("borderTopWidth"), 10) || 0) + (parseInt(b(f).css("paddingTop"), 10) || 0) - this.margins.top, c.left + (g ? Math.max(f.scrollWidth, f.offsetWidth) : f.offsetWidth) - (parseInt(b(f).css("borderLeftWidth"),
10) || 0) - (parseInt(b(f).css("paddingRight"), 10) || 0) - this.helperProportions.width - this.margins.left, c.top + (g ? Math.max(f.scrollHeight, f.offsetHeight) : f.offsetHeight) - (parseInt(b(f).css("borderTopWidth"), 10) || 0) - (parseInt(b(f).css("paddingBottom"), 10) || 0) - this.helperProportions.height - this.margins.top]
            } 
        }, _convertPositionTo: function (c, f) {
            if (!f) f = this.position; c = c == "absolute" ? 1 : -1; var g = this.cssPosition == "absolute" && !(this.scrollParent[0] != document && b.ui.contains(this.scrollParent[0], this.offsetParent[0])) ?
this.offsetParent : this.scrollParent, e = /(html|body)/i.test(g[0].tagName); return { top: f.top + this.offset.relative.top * c + this.offset.parent.top * c - (b.browser.safari && this.cssPosition == "fixed" ? 0 : (this.cssPosition == "fixed" ? -this.scrollParent.scrollTop() : e ? 0 : g.scrollTop()) * c), left: f.left + this.offset.relative.left * c + this.offset.parent.left * c - (b.browser.safari && this.cssPosition == "fixed" ? 0 : (this.cssPosition == "fixed" ? -this.scrollParent.scrollLeft() : e ? 0 : g.scrollLeft()) * c)}
        }, _generatePosition: function (c) {
            var f =
this.options, g = this.cssPosition == "absolute" && !(this.scrollParent[0] != document && b.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, e = /(html|body)/i.test(g[0].tagName); if (this.cssPosition == "relative" && !(this.scrollParent[0] != document && this.scrollParent[0] != this.offsetParent[0])) this.offset.relative = this._getRelativeOffset(); var a = c.pageX, d = c.pageY; if (this.originalPosition) {
                if (this.containment) {
                    if (c.pageX - this.offset.click.left < this.containment[0]) a = this.containment[0] +
this.offset.click.left; if (c.pageY - this.offset.click.top < this.containment[1]) d = this.containment[1] + this.offset.click.top; if (c.pageX - this.offset.click.left > this.containment[2]) a = this.containment[2] + this.offset.click.left; if (c.pageY - this.offset.click.top > this.containment[3]) d = this.containment[3] + this.offset.click.top
                } if (f.grid) {
                    d = this.originalPageY + Math.round((d - this.originalPageY) / f.grid[1]) * f.grid[1]; d = this.containment ? !(d - this.offset.click.top < this.containment[1] || d - this.offset.click.top > this.containment[3]) ?
d : !(d - this.offset.click.top < this.containment[1]) ? d - f.grid[1] : d + f.grid[1] : d; a = this.originalPageX + Math.round((a - this.originalPageX) / f.grid[0]) * f.grid[0]; a = this.containment ? !(a - this.offset.click.left < this.containment[0] || a - this.offset.click.left > this.containment[2]) ? a : !(a - this.offset.click.left < this.containment[0]) ? a - f.grid[0] : a + f.grid[0] : a
                } 
            } return { top: d - this.offset.click.top - this.offset.relative.top - this.offset.parent.top + (b.browser.safari && this.cssPosition == "fixed" ? 0 : this.cssPosition == "fixed" ? -this.scrollParent.scrollTop() :
e ? 0 : g.scrollTop()), left: a - this.offset.click.left - this.offset.relative.left - this.offset.parent.left + (b.browser.safari && this.cssPosition == "fixed" ? 0 : this.cssPosition == "fixed" ? -this.scrollParent.scrollLeft() : e ? 0 : g.scrollLeft())
            }
        }, _rearrange: function (c, f, g, e) {
            g ? g[0].appendChild(this.placeholder[0]) : f.item[0].parentNode.insertBefore(this.placeholder[0], this.direction == "down" ? f.item[0] : f.item[0].nextSibling); this.counter = this.counter ? ++this.counter : 1; var a = this, d = this.counter; window.setTimeout(function () {
                d ==
a.counter && a.refreshPositions(!e)
            }, 0)
        }, _clear: function (c, f) {
            this.reverting = false; var g = []; !this._noFinalSort && this.currentItem[0].parentNode && this.placeholder.before(this.currentItem); this._noFinalSort = null; if (this.helper[0] == this.currentItem[0]) { for (var e in this._storedCSS) if (this._storedCSS[e] == "auto" || this._storedCSS[e] == "static") this._storedCSS[e] = ""; this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper") } else this.currentItem.show(); this.fromOutside && !f && g.push(function (a) {
                this._trigger("receive",
a, this._uiHash(this.fromOutside))
            }); if ((this.fromOutside || this.domPosition.prev != this.currentItem.prev().not(".ui-sortable-helper")[0] || this.domPosition.parent != this.currentItem.parent()[0]) && !f) g.push(function (a) { this._trigger("update", a, this._uiHash()) }); if (!b.ui.contains(this.element[0], this.currentItem[0])) {
                f || g.push(function (a) { this._trigger("remove", a, this._uiHash()) }); for (e = this.containers.length - 1; e >= 0; e--) if (b.ui.contains(this.containers[e].element[0], this.currentItem[0]) && !f) {
                    g.push(function (a) {
                        return function (d) {
                            a._trigger("receive",
d, this._uiHash(this))
                        } 
                    } .call(this, this.containers[e])); g.push(function (a) { return function (d) { a._trigger("update", d, this._uiHash(this)) } } .call(this, this.containers[e]))
                } 
            } for (e = this.containers.length - 1; e >= 0; e--) {
                f || g.push(function (a) { return function (d) { a._trigger("deactivate", d, this._uiHash(this)) } } .call(this, this.containers[e])); if (this.containers[e].containerCache.over) {
                    g.push(function (a) { return function (d) { a._trigger("out", d, this._uiHash(this)) } } .call(this, this.containers[e])); this.containers[e].containerCache.over =
0
                } 
            } this._storedCursor && b("body").css("cursor", this._storedCursor); this._storedOpacity && this.helper.css("opacity", this._storedOpacity); if (this._storedZIndex) this.helper.css("zIndex", this._storedZIndex == "auto" ? "" : this._storedZIndex); this.dragging = false; if (this.cancelHelperRemoval) { if (!f) { this._trigger("beforeStop", c, this._uiHash()); for (e = 0; e < g.length; e++) g[e].call(this, c); this._trigger("stop", c, this._uiHash()) } return false } f || this._trigger("beforeStop", c, this._uiHash()); this.placeholder[0].parentNode.removeChild(this.placeholder[0]);
            this.helper[0] != this.currentItem[0] && this.helper.remove(); this.helper = null; if (!f) { for (e = 0; e < g.length; e++) g[e].call(this, c); this._trigger("stop", c, this._uiHash()) } this.fromOutside = false; return true
        }, _trigger: function () { b.Widget.prototype._trigger.apply(this, arguments) === false && this.cancel() }, _uiHash: function (c) { var f = c || this; return { helper: f.helper, placeholder: f.placeholder || b([]), position: f.position, originalPosition: f.originalPosition, offset: f.positionAbs, item: f.currentItem, sender: c ? c.element : null} } 
    });
    b.extend(b.ui.sortable, { version: "1.8.7" })
})(jQuery);
jQuery.effects || function (b, c) {
    function f(l) {
        var k; if (l && l.constructor == Array && l.length == 3) return l; if (k = /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(l)) return [parseInt(k[1], 10), parseInt(k[2], 10), parseInt(k[3], 10)]; if (k = /rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(l)) return [parseFloat(k[1]) * 2.55, parseFloat(k[2]) * 2.55, parseFloat(k[3]) * 2.55]; if (k = /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(l)) return [parseInt(k[1], 16),
parseInt(k[2], 16), parseInt(k[3], 16)]; if (k = /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(l)) return [parseInt(k[1] + k[1], 16), parseInt(k[2] + k[2], 16), parseInt(k[3] + k[3], 16)]; if (/rgba\(0, 0, 0, 0\)/.exec(l)) return j.transparent; return j[b.trim(l).toLowerCase()]
    } function g(l, k) { var m; do { m = b.curCSS(l, k); if (m != "" && m != "transparent" || b.nodeName(l, "body")) break; k = "backgroundColor" } while (l = l.parentNode); return f(m) } function e() {
        var l = document.defaultView ? document.defaultView.getComputedStyle(this, null) : this.currentStyle,
k = {}, m, o; if (l && l.length && l[0] && l[l[0]]) for (var p = l.length; p--; ) { m = l[p]; if (typeof l[m] == "string") { o = m.replace(/\-(\w)/g, function (s, r) { return r.toUpperCase() }); k[o] = l[m] } } else for (m in l) if (typeof l[m] === "string") k[m] = l[m]; return k
    } function a(l) { var k, m; for (k in l) { m = l[k]; if (m == null || b.isFunction(m) || k in q || /scrollbar/.test(k) || !/color/i.test(k) && isNaN(parseFloat(m))) delete l[k] } return l } function d(l, k) { var m = { _: 0 }, o; for (o in k) if (l[o] != k[o]) m[o] = k[o]; return m } function h(l, k, m, o) {
        if (typeof l == "object") {
            o =
k; m = null; k = l; l = k.effect
        } if (b.isFunction(k)) { o = k; m = null; k = {} } if (typeof k == "number" || b.fx.speeds[k]) { o = m; m = k; k = {} } if (b.isFunction(m)) { o = m; m = null } k = k || {}; m = m || k.duration; m = b.fx.off ? 0 : typeof m == "number" ? m : m in b.fx.speeds ? b.fx.speeds[m] : b.fx.speeds._default; o = o || k.complete; return [l, k, m, o]
    } function i(l) { if (!l || typeof l === "number" || b.fx.speeds[l]) return true; if (typeof l === "string" && !b.effects[l]) return true; return false } b.effects = {}; b.each(["backgroundColor", "borderBottomColor", "borderLeftColor", "borderRightColor",
"borderTopColor", "borderColor", "color", "outlineColor"], function (l, k) { b.fx.step[k] = function (m) { if (!m.colorInit) { m.start = g(m.elem, k); m.end = f(m.end); m.colorInit = true } m.elem.style[k] = "rgb(" + Math.max(Math.min(parseInt(m.pos * (m.end[0] - m.start[0]) + m.start[0], 10), 255), 0) + "," + Math.max(Math.min(parseInt(m.pos * (m.end[1] - m.start[1]) + m.start[1], 10), 255), 0) + "," + Math.max(Math.min(parseInt(m.pos * (m.end[2] - m.start[2]) + m.start[2], 10), 255), 0) + ")" } }); var j = { aqua: [0, 255, 255], azure: [240, 255, 255], beige: [245, 245, 220], black: [0,
0, 0], blue: [0, 0, 255], brown: [165, 42, 42], cyan: [0, 255, 255], darkblue: [0, 0, 139], darkcyan: [0, 139, 139], darkgrey: [169, 169, 169], darkgreen: [0, 100, 0], darkkhaki: [189, 183, 107], darkmagenta: [139, 0, 139], darkolivegreen: [85, 107, 47], darkorange: [255, 140, 0], darkorchid: [153, 50, 204], darkred: [139, 0, 0], darksalmon: [233, 150, 122], darkviolet: [148, 0, 211], fuchsia: [255, 0, 255], gold: [255, 215, 0], green: [0, 128, 0], indigo: [75, 0, 130], khaki: [240, 230, 140], lightblue: [173, 216, 230], lightcyan: [224, 255, 255], lightgreen: [144, 238, 144], lightgrey: [211,
211, 211], lightpink: [255, 182, 193], lightyellow: [255, 255, 224], lime: [0, 255, 0], magenta: [255, 0, 255], maroon: [128, 0, 0], navy: [0, 0, 128], olive: [128, 128, 0], orange: [255, 165, 0], pink: [255, 192, 203], purple: [128, 0, 128], violet: [128, 0, 128], red: [255, 0, 0], silver: [192, 192, 192], white: [255, 255, 255], yellow: [255, 255, 0], transparent: [255, 255, 255]
}, n = ["add", "remove", "toggle"], q = { border: 1, borderBottom: 1, borderColor: 1, borderLeft: 1, borderRight: 1, borderTop: 1, borderWidth: 1, margin: 1, padding: 1 }; b.effects.animateClass = function (l, k, m,
o) {
    if (b.isFunction(m)) { o = m; m = null } return this.each(function () {
        b.queue(this, "fx", function () {
            var p = b(this), s = p.attr("style") || " ", r = a(e.call(this)), u, v = p.attr("className"); b.each(n, function (w, y) { l[y] && p[y + "Class"](l[y]) }); u = a(e.call(this)); p.attr("className", v); p.animate(d(r, u), k, m, function () { b.each(n, function (w, y) { l[y] && p[y + "Class"](l[y]) }); if (typeof p.attr("style") == "object") { p.attr("style").cssText = ""; p.attr("style").cssText = s } else p.attr("style", s); o && o.apply(this, arguments) }); r = b.queue(this); u =
r.splice(r.length - 1, 1)[0]; r.splice(1, 0, u); b.dequeue(this)
        })
    })
}; b.fn.extend({ _addClass: b.fn.addClass, addClass: function (l, k, m, o) { return k ? b.effects.animateClass.apply(this, [{ add: l }, k, m, o]) : this._addClass(l) }, _removeClass: b.fn.removeClass, removeClass: function (l, k, m, o) { return k ? b.effects.animateClass.apply(this, [{ remove: l }, k, m, o]) : this._removeClass(l) }, _toggleClass: b.fn.toggleClass, toggleClass: function (l, k, m, o, p) {
    return typeof k == "boolean" || k === c ? m ? b.effects.animateClass.apply(this, [k ? { add: l} : { remove: l },
m, o, p]) : this._toggleClass(l, k) : b.effects.animateClass.apply(this, [{ toggle: l }, k, m, o])
}, switchClass: function (l, k, m, o, p) { return b.effects.animateClass.apply(this, [{ add: k, remove: l }, m, o, p]) } 
}); b.extend(b.effects, { version: "1.8.7", save: function (l, k) { for (var m = 0; m < k.length; m++) k[m] !== null && l.data("ec.storage." + k[m], l[0].style[k[m]]) }, restore: function (l, k) { for (var m = 0; m < k.length; m++) k[m] !== null && l.css(k[m], l.data("ec.storage." + k[m])) }, setMode: function (l, k) {
    if (k == "toggle") k = l.is(":hidden") ? "show" : "hide";
    return k
}, getBaseline: function (l, k) { var m; switch (l[0]) { case "top": m = 0; break; case "middle": m = 0.5; break; case "bottom": m = 1; break; default: m = l[0] / k.height } switch (l[1]) { case "left": l = 0; break; case "center": l = 0.5; break; case "right": l = 1; break; default: l = l[1] / k.width } return { x: l, y: m} }, createWrapper: function (l) {
    if (l.parent().is(".ui-effects-wrapper")) return l.parent(); var k = { width: l.outerWidth(true), height: l.outerHeight(true), "float": l.css("float") }, m = b("<div></div>").addClass("ui-effects-wrapper").css({ fontSize: "100%",
        background: "transparent", border: "none", margin: 0, padding: 0
    }); l.wrap(m); m = l.parent(); if (l.css("position") == "static") { m.css({ position: "relative" }); l.css({ position: "relative" }) } else { b.extend(k, { position: l.css("position"), zIndex: l.css("z-index") }); b.each(["top", "left", "bottom", "right"], function (o, p) { k[p] = l.css(p); if (isNaN(parseInt(k[p], 10))) k[p] = "auto" }); l.css({ position: "relative", top: 0, left: 0 }) } return m.css(k).show()
}, removeWrapper: function (l) {
    if (l.parent().is(".ui-effects-wrapper")) return l.parent().replaceWith(l);
    return l
}, setTransition: function (l, k, m, o) { o = o || {}; b.each(k, function (p, s) { unit = l.cssUnit(s); if (unit[0] > 0) o[s] = unit[0] * m + unit[1] }); return o } 
}); b.fn.extend({ effect: function (l) { var k = h.apply(this, arguments), m = { options: k[1], duration: k[2], callback: k[3] }; k = m.options.mode; var o = b.effects[l]; if (b.fx.off || !o) return k ? this[k](m.duration, m.callback) : this.each(function () { m.callback && m.callback.call(this) }); return o.call(this, m) }, _show: b.fn.show, show: function (l) {
    if (i(l)) return this._show.apply(this, arguments);
    else { var k = h.apply(this, arguments); k[1].mode = "show"; return this.effect.apply(this, k) } 
}, _hide: b.fn.hide, hide: function (l) { if (i(l)) return this._hide.apply(this, arguments); else { var k = h.apply(this, arguments); k[1].mode = "hide"; return this.effect.apply(this, k) } }, __toggle: b.fn.toggle, toggle: function (l) { if (i(l) || typeof l === "boolean" || b.isFunction(l)) return this.__toggle.apply(this, arguments); else { var k = h.apply(this, arguments); k[1].mode = "toggle"; return this.effect.apply(this, k) } }, cssUnit: function (l) {
    var k = this.css(l),
m = []; b.each(["em", "px", "%", "pt"], function (o, p) { if (k.indexOf(p) > 0) m = [parseFloat(k), p] }); return m
} 
}); b.easing.jswing = b.easing.swing; b.extend(b.easing, { def: "easeOutQuad", swing: function (l, k, m, o, p) { return b.easing[b.easing.def](l, k, m, o, p) }, easeInQuad: function (l, k, m, o, p) { return o * (k /= p) * k + m }, easeOutQuad: function (l, k, m, o, p) { return -o * (k /= p) * (k - 2) + m }, easeInOutQuad: function (l, k, m, o, p) { if ((k /= p / 2) < 1) return o / 2 * k * k + m; return -o / 2 * (--k * (k - 2) - 1) + m }, easeInCubic: function (l, k, m, o, p) { return o * (k /= p) * k * k + m }, easeOutCubic: function (l,
k, m, o, p) { return o * ((k = k / p - 1) * k * k + 1) + m }, easeInOutCubic: function (l, k, m, o, p) { if ((k /= p / 2) < 1) return o / 2 * k * k * k + m; return o / 2 * ((k -= 2) * k * k + 2) + m }, easeInQuart: function (l, k, m, o, p) { return o * (k /= p) * k * k * k + m }, easeOutQuart: function (l, k, m, o, p) { return -o * ((k = k / p - 1) * k * k * k - 1) + m }, easeInOutQuart: function (l, k, m, o, p) { if ((k /= p / 2) < 1) return o / 2 * k * k * k * k + m; return -o / 2 * ((k -= 2) * k * k * k - 2) + m }, easeInQuint: function (l, k, m, o, p) { return o * (k /= p) * k * k * k * k + m }, easeOutQuint: function (l, k, m, o, p) { return o * ((k = k / p - 1) * k * k * k * k + 1) + m }, easeInOutQuint: function (l,
k, m, o, p) { if ((k /= p / 2) < 1) return o / 2 * k * k * k * k * k + m; return o / 2 * ((k -= 2) * k * k * k * k + 2) + m }, easeInSine: function (l, k, m, o, p) { return -o * Math.cos(k / p * (Math.PI / 2)) + o + m }, easeOutSine: function (l, k, m, o, p) { return o * Math.sin(k / p * (Math.PI / 2)) + m }, easeInOutSine: function (l, k, m, o, p) { return -o / 2 * (Math.cos(Math.PI * k / p) - 1) + m }, easeInExpo: function (l, k, m, o, p) { return k == 0 ? m : o * Math.pow(2, 10 * (k / p - 1)) + m }, easeOutExpo: function (l, k, m, o, p) { return k == p ? m + o : o * (-Math.pow(2, -10 * k / p) + 1) + m }, easeInOutExpo: function (l, k, m, o, p) {
    if (k == 0) return m; if (k ==
p) return m + o; if ((k /= p / 2) < 1) return o / 2 * Math.pow(2, 10 * (k - 1)) + m; return o / 2 * (-Math.pow(2, -10 * --k) + 2) + m
}, easeInCirc: function (l, k, m, o, p) { return -o * (Math.sqrt(1 - (k /= p) * k) - 1) + m }, easeOutCirc: function (l, k, m, o, p) { return o * Math.sqrt(1 - (k = k / p - 1) * k) + m }, easeInOutCirc: function (l, k, m, o, p) { if ((k /= p / 2) < 1) return -o / 2 * (Math.sqrt(1 - k * k) - 1) + m; return o / 2 * (Math.sqrt(1 - (k -= 2) * k) + 1) + m }, easeInElastic: function (l, k, m, o, p) {
    l = 1.70158; var s = 0, r = o; if (k == 0) return m; if ((k /= p) == 1) return m + o; s || (s = p * 0.3); if (r < Math.abs(o)) { r = o; l = s / 4 } else l =
s / (2 * Math.PI) * Math.asin(o / r); return -(r * Math.pow(2, 10 * (k -= 1)) * Math.sin((k * p - l) * 2 * Math.PI / s)) + m
}, easeOutElastic: function (l, k, m, o, p) { l = 1.70158; var s = 0, r = o; if (k == 0) return m; if ((k /= p) == 1) return m + o; s || (s = p * 0.3); if (r < Math.abs(o)) { r = o; l = s / 4 } else l = s / (2 * Math.PI) * Math.asin(o / r); return r * Math.pow(2, -10 * k) * Math.sin((k * p - l) * 2 * Math.PI / s) + o + m }, easeInOutElastic: function (l, k, m, o, p) {
    l = 1.70158; var s = 0, r = o; if (k == 0) return m; if ((k /= p / 2) == 2) return m + o; s || (s = p * 0.3 * 1.5); if (r < Math.abs(o)) { r = o; l = s / 4 } else l = s / (2 * Math.PI) * Math.asin(o /
r); if (k < 1) return -0.5 * r * Math.pow(2, 10 * (k -= 1)) * Math.sin((k * p - l) * 2 * Math.PI / s) + m; return r * Math.pow(2, -10 * (k -= 1)) * Math.sin((k * p - l) * 2 * Math.PI / s) * 0.5 + o + m
}, easeInBack: function (l, k, m, o, p, s) { if (s == c) s = 1.70158; return o * (k /= p) * k * ((s + 1) * k - s) + m }, easeOutBack: function (l, k, m, o, p, s) { if (s == c) s = 1.70158; return o * ((k = k / p - 1) * k * ((s + 1) * k + s) + 1) + m }, easeInOutBack: function (l, k, m, o, p, s) { if (s == c) s = 1.70158; if ((k /= p / 2) < 1) return o / 2 * k * k * (((s *= 1.525) + 1) * k - s) + m; return o / 2 * ((k -= 2) * k * (((s *= 1.525) + 1) * k + s) + 2) + m }, easeInBounce: function (l,
k, m, o, p) { return o - b.easing.easeOutBounce(l, p - k, 0, o, p) + m }, easeOutBounce: function (l, k, m, o, p) { return (k /= p) < 1 / 2.75 ? o * 7.5625 * k * k + m : k < 2 / 2.75 ? o * (7.5625 * (k -= 1.5 / 2.75) * k + 0.75) + m : k < 2.5 / 2.75 ? o * (7.5625 * (k -= 2.25 / 2.75) * k + 0.9375) + m : o * (7.5625 * (k -= 2.625 / 2.75) * k + 0.984375) + m }, easeInOutBounce: function (l, k, m, o, p) { if (k < p / 2) return b.easing.easeInBounce(l, k * 2, 0, o, p) * 0.5 + m; return b.easing.easeOutBounce(l, k * 2 - p, 0, o, p) * 0.5 + o * 0.5 + m } 
})
} (jQuery);
(function (b) {
    b.effects.blind = function (c) {
        return this.queue(function () {
            var f = b(this), g = ["position", "top", "left"], e = b.effects.setMode(f, c.options.mode || "hide"), a = c.options.direction || "vertical"; b.effects.save(f, g); f.show(); var d = b.effects.createWrapper(f).css({ overflow: "hidden" }), h = a == "vertical" ? "height" : "width"; a = a == "vertical" ? d.height() : d.width(); e == "show" && d.css(h, 0); var i = {}; i[h] = e == "show" ? a : 0; d.animate(i, c.duration, c.options.easing, function () {
                e == "hide" && f.hide(); b.effects.restore(f, g); b.effects.removeWrapper(f);
                c.callback && c.callback.apply(f[0], arguments); f.dequeue()
            })
        })
    } 
})(jQuery);
(function (b) {
    b.effects.bounce = function (c) {
        return this.queue(function () {
            var f = b(this), g = ["position", "top", "left"], e = b.effects.setMode(f, c.options.mode || "effect"), a = c.options.direction || "up", d = c.options.distance || 20, h = c.options.times || 5, i = c.duration || 250; /show|hide/.test(e) && g.push("opacity"); b.effects.save(f, g); f.show(); b.effects.createWrapper(f); var j = a == "up" || a == "down" ? "top" : "left"; a = a == "up" || a == "left" ? "pos" : "neg"; d = c.options.distance || (j == "top" ? f.outerHeight({ margin: true }) / 3 : f.outerWidth({ margin: true }) /
3); if (e == "show") f.css("opacity", 0).css(j, a == "pos" ? -d : d); if (e == "hide") d /= h * 2; e != "hide" && h--; if (e == "show") { var n = { opacity: 1 }; n[j] = (a == "pos" ? "+=" : "-=") + d; f.animate(n, i / 2, c.options.easing); d /= 2; h-- } for (n = 0; n < h; n++) { var q = {}, l = {}; q[j] = (a == "pos" ? "-=" : "+=") + d; l[j] = (a == "pos" ? "+=" : "-=") + d; f.animate(q, i / 2, c.options.easing).animate(l, i / 2, c.options.easing); d = e == "hide" ? d * 2 : d / 2 } if (e == "hide") {
                n = { opacity: 0 }; n[j] = (a == "pos" ? "-=" : "+=") + d; f.animate(n, i / 2, c.options.easing, function () {
                    f.hide(); b.effects.restore(f, g); b.effects.removeWrapper(f);
                    c.callback && c.callback.apply(this, arguments)
                })
            } else { q = {}; l = {}; q[j] = (a == "pos" ? "-=" : "+=") + d; l[j] = (a == "pos" ? "+=" : "-=") + d; f.animate(q, i / 2, c.options.easing).animate(l, i / 2, c.options.easing, function () { b.effects.restore(f, g); b.effects.removeWrapper(f); c.callback && c.callback.apply(this, arguments) }) } f.queue("fx", function () { f.dequeue() }); f.dequeue()
        })
    } 
})(jQuery);
(function (b) {
    b.effects.clip = function (c) {
        return this.queue(function () {
            var f = b(this), g = ["position", "top", "left", "height", "width"], e = b.effects.setMode(f, c.options.mode || "hide"), a = c.options.direction || "vertical"; b.effects.save(f, g); f.show(); var d = b.effects.createWrapper(f).css({ overflow: "hidden" }); d = f[0].tagName == "IMG" ? d : f; var h = { size: a == "vertical" ? "height" : "width", position: a == "vertical" ? "top" : "left" }; a = a == "vertical" ? d.height() : d.width(); if (e == "show") { d.css(h.size, 0); d.css(h.position, a / 2) } var i = {}; i[h.size] =
e == "show" ? a : 0; i[h.position] = e == "show" ? 0 : a / 2; d.animate(i, { queue: false, duration: c.duration, easing: c.options.easing, complete: function () { e == "hide" && f.hide(); b.effects.restore(f, g); b.effects.removeWrapper(f); c.callback && c.callback.apply(f[0], arguments); f.dequeue() } })
        })
    } 
})(jQuery);
(function (b) {
    b.effects.drop = function (c) {
        return this.queue(function () {
            var f = b(this), g = ["position", "top", "left", "opacity"], e = b.effects.setMode(f, c.options.mode || "hide"), a = c.options.direction || "left"; b.effects.save(f, g); f.show(); b.effects.createWrapper(f); var d = a == "up" || a == "down" ? "top" : "left"; a = a == "up" || a == "left" ? "pos" : "neg"; var h = c.options.distance || (d == "top" ? f.outerHeight({ margin: true }) / 2 : f.outerWidth({ margin: true }) / 2); if (e == "show") f.css("opacity", 0).css(d, a == "pos" ? -h : h); var i = { opacity: e == "show" ? 1 :
0
            }; i[d] = (e == "show" ? a == "pos" ? "+=" : "-=" : a == "pos" ? "-=" : "+=") + h; f.animate(i, { queue: false, duration: c.duration, easing: c.options.easing, complete: function () { e == "hide" && f.hide(); b.effects.restore(f, g); b.effects.removeWrapper(f); c.callback && c.callback.apply(this, arguments); f.dequeue() } })
        })
    } 
})(jQuery);
(function (b) {
    b.effects.explode = function (c) {
        return this.queue(function () {
            var f = c.options.pieces ? Math.round(Math.sqrt(c.options.pieces)) : 3, g = c.options.pieces ? Math.round(Math.sqrt(c.options.pieces)) : 3; c.options.mode = c.options.mode == "toggle" ? b(this).is(":visible") ? "hide" : "show" : c.options.mode; var e = b(this).show().css("visibility", "hidden"), a = e.offset(); a.top -= parseInt(e.css("marginTop"), 10) || 0; a.left -= parseInt(e.css("marginLeft"), 10) || 0; for (var d = e.outerWidth(true), h = e.outerHeight(true), i = 0; i < f; i++) for (var j =
0; j < g; j++) e.clone().appendTo("body").wrap("<div></div>").css({ position: "absolute", visibility: "visible", left: -j * (d / g), top: -i * (h / f) }).parent().addClass("ui-effects-explode").css({ position: "absolute", overflow: "hidden", width: d / g, height: h / f, left: a.left + j * (d / g) + (c.options.mode == "show" ? (j - Math.floor(g / 2)) * (d / g) : 0), top: a.top + i * (h / f) + (c.options.mode == "show" ? (i - Math.floor(f / 2)) * (h / f) : 0), opacity: c.options.mode == "show" ? 0 : 1 }).animate({ left: a.left + j * (d / g) + (c.options.mode == "show" ? 0 : (j - Math.floor(g / 2)) * (d / g)), top: a.top +
i * (h / f) + (c.options.mode == "show" ? 0 : (i - Math.floor(f / 2)) * (h / f)), opacity: c.options.mode == "show" ? 1 : 0
}, c.duration || 500); setTimeout(function () { c.options.mode == "show" ? e.css({ visibility: "visible" }) : e.css({ visibility: "visible" }).hide(); c.callback && c.callback.apply(e[0]); e.dequeue(); b("div.ui-effects-explode").remove() }, c.duration || 500)
        })
    } 
})(jQuery);
(function (b) { b.effects.fade = function (c) { return this.queue(function () { var f = b(this), g = b.effects.setMode(f, c.options.mode || "hide"); f.animate({ opacity: g }, { queue: false, duration: c.duration, easing: c.options.easing, complete: function () { c.callback && c.callback.apply(this, arguments); f.dequeue() } }) }) } })(jQuery);
(function (b) {
    b.effects.fold = function (c) {
        return this.queue(function () {
            var f = b(this), g = ["position", "top", "left"], e = b.effects.setMode(f, c.options.mode || "hide"), a = c.options.size || 15, d = !!c.options.horizFirst, h = c.duration ? c.duration / 2 : b.fx.speeds._default / 2; b.effects.save(f, g); f.show(); var i = b.effects.createWrapper(f).css({ overflow: "hidden" }), j = e == "show" != d, n = j ? ["width", "height"] : ["height", "width"]; j = j ? [i.width(), i.height()] : [i.height(), i.width()]; var q = /([0-9]+)%/.exec(a); if (q) a = parseInt(q[1], 10) / 100 *
j[e == "hide" ? 0 : 1]; if (e == "show") i.css(d ? { height: 0, width: a} : { height: a, width: 0 }); d = {}; q = {}; d[n[0]] = e == "show" ? j[0] : a; q[n[1]] = e == "show" ? j[1] : 0; i.animate(d, h, c.options.easing).animate(q, h, c.options.easing, function () { e == "hide" && f.hide(); b.effects.restore(f, g); b.effects.removeWrapper(f); c.callback && c.callback.apply(f[0], arguments); f.dequeue() })
        })
    } 
})(jQuery);
(function (b) {
    b.effects.highlight = function (c) {
        return this.queue(function () {
            var f = b(this), g = ["backgroundImage", "backgroundColor", "opacity"], e = b.effects.setMode(f, c.options.mode || "show"), a = { backgroundColor: f.css("backgroundColor") }; if (e == "hide") a.opacity = 0; b.effects.save(f, g); f.show().css({ backgroundImage: "none", backgroundColor: c.options.color || "#ffff99" }).animate(a, { queue: false, duration: c.duration, easing: c.options.easing, complete: function () {
                e == "hide" && f.hide(); b.effects.restore(f, g); e == "show" && !b.support.opacity &&
this.style.removeAttribute("filter"); c.callback && c.callback.apply(this, arguments); f.dequeue()
            } 
            })
        })
    } 
})(jQuery);
(function (b) {
    b.effects.pulsate = function (c) {
        return this.queue(function () {
            var f = b(this), g = b.effects.setMode(f, c.options.mode || "show"); times = (c.options.times || 5) * 2 - 1; duration = c.duration ? c.duration / 2 : b.fx.speeds._default / 2; isVisible = f.is(":visible"); animateTo = 0; if (!isVisible) { f.css("opacity", 0).show(); animateTo = 1 } if (g == "hide" && isVisible || g == "show" && !isVisible) times--; for (g = 0; g < times; g++) { f.animate({ opacity: animateTo }, duration, c.options.easing); animateTo = (animateTo + 1) % 2 } f.animate({ opacity: animateTo }, duration,
c.options.easing, function () { animateTo == 0 && f.hide(); c.callback && c.callback.apply(this, arguments) }); f.queue("fx", function () { f.dequeue() }).dequeue()
        })
    } 
})(jQuery);
(function (b) {
    b.effects.puff = function (c) { return this.queue(function () { var f = b(this), g = b.effects.setMode(f, c.options.mode || "hide"), e = parseInt(c.options.percent, 10) || 150, a = e / 100, d = { height: f.height(), width: f.width() }; b.extend(c.options, { fade: true, mode: g, percent: g == "hide" ? e : 100, from: g == "hide" ? d : { height: d.height * a, width: d.width * a} }); f.effect("scale", c.options, c.duration, c.callback); f.dequeue() }) }; b.effects.scale = function (c) {
        return this.queue(function () {
            var f = b(this), g = b.extend(true, {}, c.options), e = b.effects.setMode(f,
c.options.mode || "effect"), a = parseInt(c.options.percent, 10) || (parseInt(c.options.percent, 10) == 0 ? 0 : e == "hide" ? 0 : 100), d = c.options.direction || "both", h = c.options.origin; if (e != "effect") { g.origin = h || ["middle", "center"]; g.restore = true } h = { height: f.height(), width: f.width() }; f.from = c.options.from || (e == "show" ? { height: 0, width: 0} : h); a = { y: d != "horizontal" ? a / 100 : 1, x: d != "vertical" ? a / 100 : 1 }; f.to = { height: h.height * a.y, width: h.width * a.x }; if (c.options.fade) {
                if (e == "show") { f.from.opacity = 0; f.to.opacity = 1 } if (e == "hide") {
                    f.from.opacity =
1; f.to.opacity = 0
                } 
            } g.from = f.from; g.to = f.to; g.mode = e; f.effect("size", g, c.duration, c.callback); f.dequeue()
        })
    }; b.effects.size = function (c) {
        return this.queue(function () {
            var f = b(this), g = ["position", "top", "left", "width", "height", "overflow", "opacity"], e = ["position", "top", "left", "overflow", "opacity"], a = ["width", "height", "overflow"], d = ["fontSize"], h = ["borderTopWidth", "borderBottomWidth", "paddingTop", "paddingBottom"], i = ["borderLeftWidth", "borderRightWidth", "paddingLeft", "paddingRight"], j = b.effects.setMode(f,
c.options.mode || "effect"), n = c.options.restore || false, q = c.options.scale || "both", l = c.options.origin, k = { height: f.height(), width: f.width() }; f.from = c.options.from || k; f.to = c.options.to || k; if (l) { l = b.effects.getBaseline(l, k); f.from.top = (k.height - f.from.height) * l.y; f.from.left = (k.width - f.from.width) * l.x; f.to.top = (k.height - f.to.height) * l.y; f.to.left = (k.width - f.to.width) * l.x } var m = { from: { y: f.from.height / k.height, x: f.from.width / k.width }, to: { y: f.to.height / k.height, x: f.to.width / k.width} }; if (q == "box" || q == "both") {
                if (m.from.y !=
m.to.y) { g = g.concat(h); f.from = b.effects.setTransition(f, h, m.from.y, f.from); f.to = b.effects.setTransition(f, h, m.to.y, f.to) } if (m.from.x != m.to.x) { g = g.concat(i); f.from = b.effects.setTransition(f, i, m.from.x, f.from); f.to = b.effects.setTransition(f, i, m.to.x, f.to) } 
            } if (q == "content" || q == "both") if (m.from.y != m.to.y) { g = g.concat(d); f.from = b.effects.setTransition(f, d, m.from.y, f.from); f.to = b.effects.setTransition(f, d, m.to.y, f.to) } b.effects.save(f, n ? g : e); f.show(); b.effects.createWrapper(f); f.css("overflow", "hidden").css(f.from);
            if (q == "content" || q == "both") {
                h = h.concat(["marginTop", "marginBottom"]).concat(d); i = i.concat(["marginLeft", "marginRight"]); a = g.concat(h).concat(i); f.find("*[width]").each(function () {
                    child = b(this); n && b.effects.save(child, a); var o = { height: child.height(), width: child.width() }; child.from = { height: o.height * m.from.y, width: o.width * m.from.x }; child.to = { height: o.height * m.to.y, width: o.width * m.to.x }; if (m.from.y != m.to.y) {
                        child.from = b.effects.setTransition(child, h, m.from.y, child.from); child.to = b.effects.setTransition(child,
h, m.to.y, child.to)
                    } if (m.from.x != m.to.x) { child.from = b.effects.setTransition(child, i, m.from.x, child.from); child.to = b.effects.setTransition(child, i, m.to.x, child.to) } child.css(child.from); child.animate(child.to, c.duration, c.options.easing, function () { n && b.effects.restore(child, a) })
                })
            } f.animate(f.to, { queue: false, duration: c.duration, easing: c.options.easing, complete: function () {
                f.to.opacity === 0 && f.css("opacity", f.from.opacity); j == "hide" && f.hide(); b.effects.restore(f, n ? g : e); b.effects.removeWrapper(f); c.callback &&
c.callback.apply(this, arguments); f.dequeue()
            } 
            })
        })
    } 
})(jQuery);
(function (b) {
    b.effects.shake = function (c) {
        return this.queue(function () {
            var f = b(this), g = ["position", "top", "left"]; b.effects.setMode(f, c.options.mode || "effect"); var e = c.options.direction || "left", a = c.options.distance || 20, d = c.options.times || 3, h = c.duration || c.options.duration || 140; b.effects.save(f, g); f.show(); b.effects.createWrapper(f); var i = e == "up" || e == "down" ? "top" : "left", j = e == "up" || e == "left" ? "pos" : "neg"; e = {}; var n = {}, q = {}; e[i] = (j == "pos" ? "-=" : "+=") + a; n[i] = (j == "pos" ? "+=" : "-=") + a * 2; q[i] = (j == "pos" ? "-=" : "+=") +
a * 2; f.animate(e, h, c.options.easing); for (a = 1; a < d; a++) f.animate(n, h, c.options.easing).animate(q, h, c.options.easing); f.animate(n, h, c.options.easing).animate(e, h / 2, c.options.easing, function () { b.effects.restore(f, g); b.effects.removeWrapper(f); c.callback && c.callback.apply(this, arguments) }); f.queue("fx", function () { f.dequeue() }); f.dequeue()
        })
    } 
})(jQuery);
(function (b) {
    b.effects.slide = function (c) {
        return this.queue(function () {
            var f = b(this), g = ["position", "top", "left"], e = b.effects.setMode(f, c.options.mode || "show"), a = c.options.direction || "left"; b.effects.save(f, g); f.show(); b.effects.createWrapper(f).css({ overflow: "hidden" }); var d = a == "up" || a == "down" ? "top" : "left"; a = a == "up" || a == "left" ? "pos" : "neg"; var h = c.options.distance || (d == "top" ? f.outerHeight({ margin: true }) : f.outerWidth({ margin: true })); if (e == "show") f.css(d, a == "pos" ? isNaN(h) ? "-" + h : -h : h); var i = {}; i[d] = (e ==
"show" ? a == "pos" ? "+=" : "-=" : a == "pos" ? "-=" : "+=") + h; f.animate(i, { queue: false, duration: c.duration, easing: c.options.easing, complete: function () { e == "hide" && f.hide(); b.effects.restore(f, g); b.effects.removeWrapper(f); c.callback && c.callback.apply(this, arguments); f.dequeue() } })
        })
    } 
})(jQuery);
(function (b) {
    b.effects.transfer = function (c) {
        return this.queue(function () {
            var f = b(this), g = b(c.options.to), e = g.offset(); g = { top: e.top, left: e.left, height: g.innerHeight(), width: g.innerWidth() }; e = f.offset(); var a = b('<div class="ui-effects-transfer"></div>').appendTo(document.body).addClass(c.options.className).css({ top: e.top, left: e.left, height: f.innerHeight(), width: f.innerWidth(), position: "absolute" }).animate(g, c.duration, c.options.easing, function () {
                a.remove(); c.callback && c.callback.apply(f[0], arguments);
                f.dequeue()
            })
        })
    } 
})(jQuery);
(function (b) {
    b.widget("ui.accordion", { options: { active: 0, animated: "slide", autoHeight: true, clearStyle: false, collapsible: false, event: "click", fillSpace: false, header: "> li > :first-child,> :not(li):even", icons: { header: "ui-icon-triangle-1-e", headerSelected: "ui-icon-triangle-1-s" }, navigation: false, navigationFilter: function () { return this.href.toLowerCase() === location.href.toLowerCase() } }, _create: function () {
        var c = this, f = c.options; c.running = 0; c.element.addClass("ui-accordion ui-widget ui-helper-reset").children("li").addClass("ui-accordion-li-fix"); c.headers =
c.element.find(f.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion", function () { f.disabled || b(this).addClass("ui-state-hover") }).bind("mouseleave.accordion", function () { f.disabled || b(this).removeClass("ui-state-hover") }).bind("focus.accordion", function () { f.disabled || b(this).addClass("ui-state-focus") }).bind("blur.accordion", function () { f.disabled || b(this).removeClass("ui-state-focus") }); c.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom");
        if (f.navigation) { var g = c.element.find("a").filter(f.navigationFilter).eq(0); if (g.length) { var e = g.closest(".ui-accordion-header"); c.active = e.length ? e : g.closest(".ui-accordion-content").prev() } } c.active = c._findActive(c.active || f.active).addClass("ui-state-default ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top"); c.active.next().addClass("ui-accordion-content-active"); c._createIcons(); c.resize(); c.element.attr("role", "tablist"); c.headers.attr("role", "tab").bind("keydown.accordion",
function (a) { return c._keydown(a) }).next().attr("role", "tabpanel"); c.headers.not(c.active || "").attr({ "aria-expanded": "false", tabIndex: -1 }).next().hide(); c.active.length ? c.active.attr({ "aria-expanded": "true", tabIndex: 0 }) : c.headers.eq(0).attr("tabIndex", 0); b.browser.safari || c.headers.find("a").attr("tabIndex", -1); f.event && c.headers.bind(f.event.split(" ").join(".accordion ") + ".accordion", function (a) { c._clickHandler.call(c, a, this); a.preventDefault() })
    }, _createIcons: function () {
        var c = this.options; if (c.icons) {
            b("<span></span>").addClass("ui-icon " +
c.icons.header).prependTo(this.headers); this.active.children(".ui-icon").toggleClass(c.icons.header).toggleClass(c.icons.headerSelected); this.element.addClass("ui-accordion-icons")
        } 
    }, _destroyIcons: function () { this.headers.children(".ui-icon").remove(); this.element.removeClass("ui-accordion-icons") }, destroy: function () {
        var c = this.options; this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"); this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-accordion-disabled ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("tabIndex");
        this.headers.find("a").removeAttr("tabIndex"); this._destroyIcons(); var f = this.headers.next().css("display", "").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-accordion-disabled ui-state-disabled"); if (c.autoHeight || c.fillHeight) f.css("height", ""); return b.Widget.prototype.destroy.call(this)
    }, _setOption: function (c, f) {
        b.Widget.prototype._setOption.apply(this, arguments); c == "active" && this.activate(f); if (c == "icons") {
            this._destroyIcons();
            f && this._createIcons()
        } if (c == "disabled") this.headers.add(this.headers.next())[f ? "addClass" : "removeClass"]("ui-accordion-disabled ui-state-disabled")
    }, _keydown: function (c) {
        if (!(this.options.disabled || c.altKey || c.ctrlKey)) {
            var f = b.ui.keyCode, g = this.headers.length, e = this.headers.index(c.target), a = false; switch (c.keyCode) {
                case f.RIGHT: case f.DOWN: a = this.headers[(e + 1) % g]; break; case f.LEFT: case f.UP: a = this.headers[(e - 1 + g) % g]; break; case f.SPACE: case f.ENTER: this._clickHandler({ target: c.target }, c.target);
                    c.preventDefault()
            } if (a) { b(c.target).attr("tabIndex", -1); b(a).attr("tabIndex", 0); a.focus(); return false } return true
        } 
    }, resize: function () {
        var c = this.options, f; if (c.fillSpace) {
            if (b.browser.msie) { var g = this.element.parent().css("overflow"); this.element.parent().css("overflow", "hidden") } f = this.element.parent().height(); b.browser.msie && this.element.parent().css("overflow", g); this.headers.each(function () { f -= b(this).outerHeight(true) }); this.headers.next().each(function () {
                b(this).height(Math.max(0, f - b(this).innerHeight() +
b(this).height()))
            }).css("overflow", "auto")
        } else if (c.autoHeight) { f = 0; this.headers.next().each(function () { f = Math.max(f, b(this).height("").height()) }).height(f) } return this
    }, activate: function (c) { this.options.active = c; c = this._findActive(c)[0]; this._clickHandler({ target: c }, c); return this }, _findActive: function (c) { return c ? typeof c === "number" ? this.headers.filter(":eq(" + c + ")") : this.headers.not(this.headers.not(c)) : c === false ? b([]) : this.headers.filter(":eq(0)") }, _clickHandler: function (c, f) {
        var g = this.options;
        if (!g.disabled) if (c.target) {
            c = b(c.currentTarget || f); f = c[0] === this.active[0]; g.active = g.collapsible && f ? false : this.headers.index(c); if (!(this.running || !g.collapsible && f)) {
                this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(g.icons.headerSelected).addClass(g.icons.header); if (!f) {
                    c.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").children(".ui-icon").removeClass(g.icons.header).addClass(g.icons.headerSelected);
                    c.next().addClass("ui-accordion-content-active")
                } d = c.next(); e = this.active.next(); a = { options: g, newHeader: f && g.collapsible ? b([]) : c, oldHeader: this.active, newContent: f && g.collapsible ? b([]) : d, oldContent: e }; g = this.headers.index(this.active[0]) > this.headers.index(c[0]); this.active = f ? b([]) : c; this._toggle(d, e, a, f, g)
            } 
        } else if (g.collapsible) {
            this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(g.icons.headerSelected).addClass(g.icons.header);
            this.active.next().addClass("ui-accordion-content-active"); var e = this.active.next(), a = { options: g, newHeader: b([]), oldHeader: g.active, newContent: b([]), oldContent: e }, d = this.active = b([]); this._toggle(d, e, a)
        } 
    }, _toggle: function (c, f, g, e, a) {
        var d = this, h = d.options; d.toShow = c; d.toHide = f; d.data = g; var i = function () { if (d) return d._completed.apply(d, arguments) }; d._trigger("changestart", null, d.data); d.running = f.size() === 0 ? c.size() : f.size(); if (h.animated) {
            g = {}; g = h.collapsible && e ? { toShow: b([]), toHide: f, complete: i,
                down: a, autoHeight: h.autoHeight || h.fillSpace
            } : { toShow: c, toHide: f, complete: i, down: a, autoHeight: h.autoHeight || h.fillSpace }; if (!h.proxied) h.proxied = h.animated; if (!h.proxiedDuration) h.proxiedDuration = h.duration; h.animated = b.isFunction(h.proxied) ? h.proxied(g) : h.proxied; h.duration = b.isFunction(h.proxiedDuration) ? h.proxiedDuration(g) : h.proxiedDuration; e = b.ui.accordion.animations; var j = h.duration, n = h.animated; if (n && !e[n] && !b.easing[n]) n = "slide"; e[n] || (e[n] = function (q) { this.slide(q, { easing: n, duration: j || 700 }) });
            e[n](g)
        } else { if (h.collapsible && e) c.toggle(); else { f.hide(); c.show() } i(true) } f.prev().attr({ "aria-expanded": "false", tabIndex: -1 }).blur(); c.prev().attr({ "aria-expanded": "true", tabIndex: 0 }).focus()
    }, _completed: function (c) { this.running = c ? 0 : --this.running; if (!this.running) { this.options.clearStyle && this.toShow.add(this.toHide).css({ height: "", overflow: "" }); this.toHide.removeClass("ui-accordion-content-active"); this._trigger("change", null, this.data) } } 
    }); b.extend(b.ui.accordion, { version: "1.8.7", animations: { slide: function (c,
f) {
        c = b.extend({ easing: "swing", duration: 300 }, c, f); if (c.toHide.size()) if (c.toShow.size()) {
            var g = c.toShow.css("overflow"), e = 0, a = {}, d = {}, h; f = c.toShow; h = f[0].style.width; f.width(parseInt(f.parent().width(), 10) - parseInt(f.css("paddingLeft"), 10) - parseInt(f.css("paddingRight"), 10) - (parseInt(f.css("borderLeftWidth"), 10) || 0) - (parseInt(f.css("borderRightWidth"), 10) || 0)); b.each(["height", "paddingTop", "paddingBottom"], function (i, j) {
                d[j] = "hide"; i = ("" + b.css(c.toShow[0], j)).match(/^([\d+-.]+)(.*)$/); a[j] = { value: i[1],
                    unit: i[2] || "px"
                }
            }); c.toShow.css({ height: 0, overflow: "hidden" }).show(); c.toHide.filter(":hidden").each(c.complete).end().filter(":visible").animate(d, { step: function (i, j) { if (j.prop == "height") e = j.end - j.start === 0 ? 0 : (j.now - j.start) / (j.end - j.start); c.toShow[0].style[j.prop] = e * a[j.prop].value + a[j.prop].unit }, duration: c.duration, easing: c.easing, complete: function () { c.autoHeight || c.toShow.css("height", ""); c.toShow.css({ width: h, overflow: g }); c.complete() } })
        } else c.toHide.animate({ height: "hide", paddingTop: "hide",
            paddingBottom: "hide"
        }, c); else c.toShow.animate({ height: "show", paddingTop: "show", paddingBottom: "show" }, c)
    }, bounceslide: function (c) { this.slide(c, { easing: c.down ? "easeOutBounce" : "swing", duration: c.down ? 1E3 : 200 }) } 
    }
    })
})(jQuery);
(function (b) {
    b.widget("ui.autocomplete", { options: { appendTo: "body", delay: 300, minLength: 1, position: { my: "left top", at: "left bottom", collision: "none" }, source: null }, _create: function () {
        var c = this, f = this.element[0].ownerDocument, g; this.element.addClass("ui-autocomplete-input").attr("autocomplete", "off").attr({ role: "textbox", "aria-autocomplete": "list", "aria-haspopup": "true" }).bind("keydown.autocomplete", function (e) {
            if (!(c.options.disabled || c.element.attr("readonly"))) {
                g = false; var a = b.ui.keyCode; switch (e.keyCode) {
                    case a.PAGE_UP: c._move("previousPage",
e); break; case a.PAGE_DOWN: c._move("nextPage", e); break; case a.UP: c._move("previous", e); e.preventDefault(); break; case a.DOWN: c._move("next", e); e.preventDefault(); break; case a.ENTER: case a.NUMPAD_ENTER: if (c.menu.active) { g = true; e.preventDefault() } case a.TAB: if (!c.menu.active) return; c.menu.select(e); break; case a.ESCAPE: c.element.val(c.term); c.close(e); break; default: clearTimeout(c.searching); c.searching = setTimeout(function () { if (c.term != c.element.val()) { c.selectedItem = null; c.search(null, e) } }, c.options.delay);
                        break
                } 
            } 
        }).bind("keypress.autocomplete", function (e) { if (g) { g = false; e.preventDefault() } }).bind("focus.autocomplete", function () { if (!c.options.disabled) { c.selectedItem = null; c.previous = c.element.val() } }).bind("blur.autocomplete", function (e) { if (!c.options.disabled) { clearTimeout(c.searching); c.closing = setTimeout(function () { c.close(e); c._change(e) }, 150) } }); this._initSource(); this.response = function () { return c._response.apply(c, arguments) }; this.menu = b("<ul></ul>").addClass("ui-autocomplete").appendTo(b(this.options.appendTo ||
"body", f)[0]).mousedown(function (e) { var a = c.menu.element[0]; b(e.target).closest(".ui-menu-item").length || setTimeout(function () { b(document).one("mousedown", function (d) { d.target !== c.element[0] && d.target !== a && !b.ui.contains(a, d.target) && c.close() }) }, 1); setTimeout(function () { clearTimeout(c.closing) }, 13) }).menu({ focus: function (e, a) { a = a.item.data("item.autocomplete"); false !== c._trigger("focus", e, { item: a }) && /^key/.test(e.originalEvent.type) && c.element.val(a.value) }, selected: function (e, a) {
    var d = a.item.data("item.autocomplete"),
h = c.previous; if (c.element[0] !== f.activeElement) { c.element.focus(); c.previous = h; setTimeout(function () { c.previous = h; c.selectedItem = d }, 1) } false !== c._trigger("select", e, { item: d }) && c.element.val(d.value); c.term = c.element.val(); c.close(e); c.selectedItem = d
}, blur: function () { c.menu.element.is(":visible") && c.element.val() !== c.term && c.element.val(c.term) } 
}).zIndex(this.element.zIndex() + 1).css({ top: 0, left: 0 }).hide().data("menu"); b.fn.bgiframe && this.menu.element.bgiframe()
    }, destroy: function () {
        this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup");
        this.menu.element.remove(); b.Widget.prototype.destroy.call(this)
    }, _setOption: function (c, f) { b.Widget.prototype._setOption.apply(this, arguments); c === "source" && this._initSource(); if (c === "appendTo") this.menu.element.appendTo(b(f || "body", this.element[0].ownerDocument)[0]) }, _initSource: function () {
        var c = this, f, g; if (b.isArray(this.options.source)) { f = this.options.source; this.source = function (e, a) { a(b.ui.autocomplete.filter(f, e.term)) } } else if (typeof this.options.source === "string") {
            g = this.options.source; this.source =
function (e, a) { c.xhr && c.xhr.abort(); c.xhr = b.ajax({ url: g, data: e, dataType: "json", success: function (d, h, i) { i === c.xhr && a(d); c.xhr = null }, error: function (d) { d === c.xhr && a([]); c.xhr = null } }) } 
        } else this.source = this.options.source
    }, search: function (c, f) { c = c != null ? c : this.element.val(); this.term = this.element.val(); if (c.length < this.options.minLength) return this.close(f); clearTimeout(this.closing); if (this._trigger("search", f) !== false) return this._search(c) }, _search: function (c) {
        this.element.addClass("ui-autocomplete-loading");
        this.source({ term: c }, this.response)
    }, _response: function (c) { if (c && c.length) { c = this._normalize(c); this._suggest(c); this._trigger("open") } else this.close(); this.element.removeClass("ui-autocomplete-loading") }, close: function (c) { clearTimeout(this.closing); if (this.menu.element.is(":visible")) { this.menu.element.hide(); this.menu.deactivate(); this._trigger("close", c) } }, _change: function (c) { this.previous !== this.element.val() && this._trigger("change", c, { item: this.selectedItem }) }, _normalize: function (c) {
        if (c.length &&
c[0].label && c[0].value) return c; return b.map(c, function (f) { if (typeof f === "string") return { label: f, value: f }; return b.extend({ label: f.label || f.value, value: f.value || f.label }, f) })
    }, _suggest: function (c) { var f = this.menu.element.empty().zIndex(this.element.zIndex() + 1); this._renderMenu(f, c); this.menu.deactivate(); this.menu.refresh(); f.show(); this._resizeMenu(); f.position(b.extend({ of: this.element }, this.options.position)) }, _resizeMenu: function () {
        var c = this.menu.element; c.outerWidth(Math.max(c.width("").outerWidth(),
this.element.outerWidth()))
    }, _renderMenu: function (c, f) { var g = this; b.each(f, function (e, a) { g._renderItem(c, a) }) }, _renderItem: function (c, f) { return b("<li></li>").data("item.autocomplete", f).append(b("<a></a>").text(f.label)).appendTo(c) }, _move: function (c, f) { if (this.menu.element.is(":visible")) if (this.menu.first() && /^previous/.test(c) || this.menu.last() && /^next/.test(c)) { this.element.val(this.term); this.menu.deactivate() } else this.menu[c](f); else this.search(null, f) }, widget: function () { return this.menu.element } 
    });
    b.extend(b.ui.autocomplete, { escapeRegex: function (c) { return c.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&") }, filter: function (c, f) { var g = new RegExp(b.ui.autocomplete.escapeRegex(f), "i"); return b.grep(c, function (e) { return g.test(e.label || e.value || e) }) } })
})(jQuery);
(function (b) {
    b.widget("ui.menu", { _create: function () { var c = this; this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({ role: "listbox", "aria-activedescendant": "ui-active-menuitem" }).click(function (f) { if (b(f.target).closest(".ui-menu-item a").length) { f.preventDefault(); c.select(f) } }); this.refresh() }, refresh: function () {
        var c = this; this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role", "menuitem").children("a").addClass("ui-corner-all").attr("tabindex",
-1).mouseenter(function (f) { c.activate(f, b(this).parent()) }).mouseleave(function () { c.deactivate() })
    }, activate: function (c, f) { this.deactivate(); if (this.hasScroll()) { var g = f.offset().top - this.element.offset().top, e = this.element.attr("scrollTop"), a = this.element.height(); if (g < 0) this.element.attr("scrollTop", e + g); else g >= a && this.element.attr("scrollTop", e + g - a + f.height()) } this.active = f.eq(0).children("a").addClass("ui-state-hover").attr("id", "ui-active-menuitem").end(); this._trigger("focus", c, { item: f }) },
        deactivate: function () { if (this.active) { this.active.children("a").removeClass("ui-state-hover").removeAttr("id"); this._trigger("blur"); this.active = null } }, next: function (c) { this.move("next", ".ui-menu-item:first", c) }, previous: function (c) { this.move("prev", ".ui-menu-item:last", c) }, first: function () { return this.active && !this.active.prevAll(".ui-menu-item").length }, last: function () { return this.active && !this.active.nextAll(".ui-menu-item").length }, move: function (c, f, g) {
            if (this.active) {
                c = this.active[c + "All"](".ui-menu-item").eq(0);
                c.length ? this.activate(g, c) : this.activate(g, this.element.children(f))
            } else this.activate(g, this.element.children(f))
        }, nextPage: function (c) {
            if (this.hasScroll()) if (!this.active || this.last()) this.activate(c, this.element.children(".ui-menu-item:first")); else {
                var f = this.active.offset().top, g = this.element.height(), e = this.element.children(".ui-menu-item").filter(function () { var a = b(this).offset().top - f - g + b(this).height(); return a < 10 && a > -10 }); e.length || (e = this.element.children(".ui-menu-item:last")); this.activate(c,
e)
            } else this.activate(c, this.element.children(".ui-menu-item").filter(!this.active || this.last() ? ":first" : ":last"))
        }, previousPage: function (c) {
            if (this.hasScroll()) if (!this.active || this.first()) this.activate(c, this.element.children(".ui-menu-item:last")); else {
                var f = this.active.offset().top, g = this.element.height(); result = this.element.children(".ui-menu-item").filter(function () { var e = b(this).offset().top - f + g - b(this).height(); return e < 10 && e > -10 }); result.length || (result = this.element.children(".ui-menu-item:first"));
                this.activate(c, result)
            } else this.activate(c, this.element.children(".ui-menu-item").filter(!this.active || this.first() ? ":last" : ":first"))
        }, hasScroll: function () { return this.element.height() < this.element.attr("scrollHeight") }, select: function (c) { this._trigger("selected", c, { item: this.active }) } 
    })
})(jQuery);
(function (b) {
    var c, f = function (e) { b(":ui-button", e.target.form).each(function () { var a = b(this).data("button"); setTimeout(function () { a.refresh() }, 1) }) }, g = function (e) { var a = e.name, d = e.form, h = b([]); if (a) h = d ? b(d).find("[name='" + a + "']") : b("[name='" + a + "']", e.ownerDocument).filter(function () { return !this.form }); return h }; b.widget("ui.button", { options: { disabled: null, text: true, label: null, icons: { primary: null, secondary: null} }, _create: function () {
        this.element.closest("form").unbind("reset.button").bind("reset.button",
f); if (typeof this.options.disabled !== "boolean") this.options.disabled = this.element.attr("disabled"); this._determineButtonType(); this.hasTitle = !!this.buttonElement.attr("title"); var e = this, a = this.options, d = this.type === "checkbox" || this.type === "radio", h = "ui-state-hover" + (!d ? " ui-state-active" : ""); if (a.label === null) a.label = this.buttonElement.html(); if (this.element.is(":disabled")) a.disabled = true; this.buttonElement.addClass("ui-button ui-widget ui-state-default ui-corner-all").attr("role", "button").bind("mouseenter.button",
function () { if (!a.disabled) { b(this).addClass("ui-state-hover"); this === c && b(this).addClass("ui-state-active") } }).bind("mouseleave.button", function () { a.disabled || b(this).removeClass(h) }).bind("focus.button", function () { b(this).addClass("ui-state-focus") }).bind("blur.button", function () { b(this).removeClass("ui-state-focus") }); d && this.element.bind("change.button", function () { e.refresh() }); if (this.type === "checkbox") this.buttonElement.bind("click.button", function () {
    if (a.disabled) return false; b(this).toggleClass("ui-state-active");
    e.buttonElement.attr("aria-pressed", e.element[0].checked)
}); else if (this.type === "radio") this.buttonElement.bind("click.button", function () { if (a.disabled) return false; b(this).addClass("ui-state-active"); e.buttonElement.attr("aria-pressed", true); var i = e.element[0]; g(i).not(i).map(function () { return b(this).button("widget")[0] }).removeClass("ui-state-active").attr("aria-pressed", false) }); else {
            this.buttonElement.bind("mousedown.button", function () {
                if (a.disabled) return false; b(this).addClass("ui-state-active");
                c = this; b(document).one("mouseup", function () { c = null })
            }).bind("mouseup.button", function () { if (a.disabled) return false; b(this).removeClass("ui-state-active") }).bind("keydown.button", function (i) { if (a.disabled) return false; if (i.keyCode == b.ui.keyCode.SPACE || i.keyCode == b.ui.keyCode.ENTER) b(this).addClass("ui-state-active") }).bind("keyup.button", function () { b(this).removeClass("ui-state-active") }); this.buttonElement.is("a") && this.buttonElement.keyup(function (i) { i.keyCode === b.ui.keyCode.SPACE && b(this).click() })
        } this._setOption("disabled",
a.disabled)
    }, _determineButtonType: function () {
        this.type = this.element.is(":checkbox") ? "checkbox" : this.element.is(":radio") ? "radio" : this.element.is("input") ? "input" : "button"; if (this.type === "checkbox" || this.type === "radio") { this.buttonElement = this.element.parents().last().find("label[for=" + this.element.attr("id") + "]"); this.element.addClass("ui-helper-hidden-accessible"); var e = this.element.is(":checked"); e && this.buttonElement.addClass("ui-state-active"); this.buttonElement.attr("aria-pressed", e) } else this.buttonElement =
this.element
    }, widget: function () { return this.buttonElement }, destroy: function () {
        this.element.removeClass("ui-helper-hidden-accessible"); this.buttonElement.removeClass("ui-button ui-widget ui-state-default ui-corner-all ui-state-hover ui-state-active  ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only").removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html()); this.hasTitle ||
this.buttonElement.removeAttr("title"); b.Widget.prototype.destroy.call(this)
    }, _setOption: function (e, a) { b.Widget.prototype._setOption.apply(this, arguments); if (e === "disabled") a ? this.element.attr("disabled", true) : this.element.removeAttr("disabled"); this._resetButton() }, refresh: function () {
        var e = this.element.is(":disabled"); e !== this.options.disabled && this._setOption("disabled", e); if (this.type === "radio") g(this.element[0]).each(function () {
            b(this).is(":checked") ? b(this).button("widget").addClass("ui-state-active").attr("aria-pressed",
true) : b(this).button("widget").removeClass("ui-state-active").attr("aria-pressed", false)
        }); else if (this.type === "checkbox") this.element.is(":checked") ? this.buttonElement.addClass("ui-state-active").attr("aria-pressed", true) : this.buttonElement.removeClass("ui-state-active").attr("aria-pressed", false)
    }, _resetButton: function () {
        if (this.type === "input") this.options.label && this.element.val(this.options.label); else {
            var e = this.buttonElement.removeClass("ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only"),
a = b("<span></span>").addClass("ui-button-text").html(this.options.label).appendTo(e.empty()).text(), d = this.options.icons, h = d.primary && d.secondary; if (d.primary || d.secondary) {
                e.addClass("ui-button-text-icon" + (h ? "s" : d.primary ? "-primary" : "-secondary")); d.primary && e.prepend("<span class='ui-button-icon-primary ui-icon " + d.primary + "'></span>"); d.secondary && e.append("<span class='ui-button-icon-secondary ui-icon " + d.secondary + "'></span>"); if (!this.options.text) {
                    e.addClass(h ? "ui-button-icons-only" : "ui-button-icon-only").removeClass("ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary");
                    this.hasTitle || e.attr("title", a)
                } 
            } else e.addClass("ui-button-text-only")
        } 
    } 
    }); b.widget("ui.buttonset", { options: { items: ":button, :submit, :reset, :checkbox, :radio, a, :data(button)" }, _create: function () { this.element.addClass("ui-buttonset") }, _init: function () { this.refresh() }, _setOption: function (e, a) { e === "disabled" && this.buttons.button("option", e, a); b.Widget.prototype._setOption.apply(this, arguments) }, refresh: function () { this.buttons = this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function () { return b(this).button("widget")[0] }).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass("ui-corner-left").end().filter(":last").addClass("ui-corner-right").end().end() },
        destroy: function () { this.element.removeClass("ui-buttonset"); this.buttons.map(function () { return b(this).button("widget")[0] }).removeClass("ui-corner-left ui-corner-right").end().button("destroy"); b.Widget.prototype.destroy.call(this) } 
    })
})(jQuery);
(function (b, c) {
    function f() {
        this.debug = false; this._curInst = null; this._keyEvent = false; this._disabledInputs = []; this._inDialog = this._datepickerShowing = false; this._mainDivId = "ui-datepicker-div"; this._inlineClass = "ui-datepicker-inline"; this._appendClass = "ui-datepicker-append"; this._triggerClass = "ui-datepicker-trigger"; this._dialogClass = "ui-datepicker-dialog"; this._disableClass = "ui-datepicker-disabled"; this._unselectableClass = "ui-datepicker-unselectable"; this._currentClass = "ui-datepicker-current-day"; this._dayOverClass =
"ui-datepicker-days-cell-over"; this.regional = []; this.regional[""] = { closeText: "Done", prevText: "Prev", nextText: "Next", currentText: "Today", monthNames: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], monthNamesShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], dayNames: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], dayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], dayNamesMin: ["Su",
"Mo", "Tu", "We", "Th", "Fr", "Sa"], weekHeader: "Wk", dateFormat: "mm/dd/yy", firstDay: 0, isRTL: false, showMonthAfterYear: false, yearSuffix: ""
}; this._defaults = { showOn: "focus", showAnim: "fadeIn", showOptions: {}, defaultDate: null, appendText: "", buttonText: "...", buttonImage: "", buttonImageOnly: false, hideIfNoPrevNext: false, navigationAsDateFormat: false, gotoCurrent: false, changeMonth: false, changeYear: false, yearRange: "c-10:c+10", showOtherMonths: false, selectOtherMonths: false, showWeek: false, calculateWeek: this.iso8601Week, shortYearCutoff: "+10",
    minDate: null, maxDate: null, duration: "fast", beforeShowDay: null, beforeShow: null, onSelect: null, onChangeMonthYear: null, onClose: null, numberOfMonths: 1, showCurrentAtPos: 0, stepMonths: 1, stepBigMonths: 12, altField: "", altFormat: "", constrainInput: true, showButtonPanel: false, autoSize: false
}; b.extend(this._defaults, this.regional[""]); this.dpDiv = b('<div id="' + this._mainDivId + '" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>')
    } function g(a, d) {
        b.extend(a, d); for (var h in d) if (d[h] ==
null || d[h] == c) a[h] = d[h]; return a
    } b.extend(b.ui, { datepicker: { version: "1.8.7"} }); var e = (new Date).getTime(); b.extend(f.prototype, { markerClassName: "hasDatepicker", log: function () { this.debug && console.log.apply("", arguments) }, _widgetDatepicker: function () { return this.dpDiv }, setDefaults: function (a) { g(this._defaults, a || {}); return this }, _attachDatepicker: function (a, d) {
        var h = null; for (var i in this._defaults) { var j = a.getAttribute("date:" + i); if (j) { h = h || {}; try { h[i] = eval(j) } catch (n) { h[i] = j } } } i = a.nodeName.toLowerCase();
        j = i == "div" || i == "span"; if (!a.id) { this.uuid += 1; a.id = "dp" + this.uuid } var q = this._newInst(b(a), j); q.settings = b.extend({}, d || {}, h || {}); if (i == "input") this._connectDatepicker(a, q); else j && this._inlineDatepicker(a, q)
    }, _newInst: function (a, d) { return { id: a[0].id.replace(/([^A-Za-z0-9_-])/g, "\\\\$1"), input: a, selectedDay: 0, selectedMonth: 0, selectedYear: 0, drawMonth: 0, drawYear: 0, inline: d, dpDiv: !d ? this.dpDiv : b('<div class="' + this._inlineClass + ' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>')} },
        _connectDatepicker: function (a, d) { var h = b(a); d.append = b([]); d.trigger = b([]); if (!h.hasClass(this.markerClassName)) { this._attachments(h, d); h.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker", function (i, j, n) { d.settings[j] = n }).bind("getData.datepicker", function (i, j) { return this._get(d, j) }); this._autoSize(d); b.data(a, "datepicker", d) } }, _attachments: function (a, d) {
            var h = this._get(d, "appendText"), i = this._get(d, "isRTL"); d.append &&
d.append.remove(); if (h) { d.append = b('<span class="' + this._appendClass + '">' + h + "</span>"); a[i ? "before" : "after"](d.append) } a.unbind("focus", this._showDatepicker); d.trigger && d.trigger.remove(); h = this._get(d, "showOn"); if (h == "focus" || h == "both") a.focus(this._showDatepicker); if (h == "button" || h == "both") {
                h = this._get(d, "buttonText"); var j = this._get(d, "buttonImage"); d.trigger = b(this._get(d, "buttonImageOnly") ? b("<img/>").addClass(this._triggerClass).attr({ src: j, alt: h, title: h }) : b('<button type="button"></button>').addClass(this._triggerClass).html(j ==
"" ? h : b("<img/>").attr({ src: j, alt: h, title: h }))); a[i ? "before" : "after"](d.trigger); d.trigger.click(function () { b.datepicker._datepickerShowing && b.datepicker._lastInput == a[0] ? b.datepicker._hideDatepicker() : b.datepicker._showDatepicker(a[0]); return false })
            } 
        }, _autoSize: function (a) {
            if (this._get(a, "autoSize") && !a.inline) {
                var d = new Date(2009, 11, 20), h = this._get(a, "dateFormat"); if (h.match(/[DM]/)) {
                    var i = function (j) { for (var n = 0, q = 0, l = 0; l < j.length; l++) if (j[l].length > n) { n = j[l].length; q = l } return q }; d.setMonth(i(this._get(a,
h.match(/MM/) ? "monthNames" : "monthNamesShort"))); d.setDate(i(this._get(a, h.match(/DD/) ? "dayNames" : "dayNamesShort")) + 20 - d.getDay())
                } a.input.attr("size", this._formatDate(a, d).length)
            } 
        }, _inlineDatepicker: function (a, d) {
            var h = b(a); if (!h.hasClass(this.markerClassName)) {
                h.addClass(this.markerClassName).append(d.dpDiv).bind("setData.datepicker", function (i, j, n) { d.settings[j] = n }).bind("getData.datepicker", function (i, j) { return this._get(d, j) }); b.data(a, "datepicker", d); this._setDate(d, this._getDefaultDate(d),
true); this._updateDatepicker(d); this._updateAlternate(d); d.dpDiv.show()
            } 
        }, _dialogDatepicker: function (a, d, h, i, j) {
            a = this._dialogInst; if (!a) { this.uuid += 1; this._dialogInput = b('<input type="text" id="' + ("dp" + this.uuid) + '" style="position: absolute; top: -100px; width: 0px; z-index: -10;"/>'); this._dialogInput.keydown(this._doKeyDown); b("body").append(this._dialogInput); a = this._dialogInst = this._newInst(this._dialogInput, false); a.settings = {}; b.data(this._dialogInput[0], "datepicker", a) } g(a.settings, i || {});
            d = d && d.constructor == Date ? this._formatDate(a, d) : d; this._dialogInput.val(d); this._pos = j ? j.length ? j : [j.pageX, j.pageY] : null; if (!this._pos) this._pos = [document.documentElement.clientWidth / 2 - 100 + (document.documentElement.scrollLeft || document.body.scrollLeft), document.documentElement.clientHeight / 2 - 150 + (document.documentElement.scrollTop || document.body.scrollTop)]; this._dialogInput.css("left", this._pos[0] + 20 + "px").css("top", this._pos[1] + "px"); a.settings.onSelect = h; this._inDialog = true; this.dpDiv.addClass(this._dialogClass);
            this._showDatepicker(this._dialogInput[0]); b.blockUI && b.blockUI(this.dpDiv); b.data(this._dialogInput[0], "datepicker", a); return this
        }, _destroyDatepicker: function (a) {
            var d = b(a), h = b.data(a, "datepicker"); if (d.hasClass(this.markerClassName)) {
                var i = a.nodeName.toLowerCase(); b.removeData(a, "datepicker"); if (i == "input") {
                    h.append.remove(); h.trigger.remove(); d.removeClass(this.markerClassName).unbind("focus", this._showDatepicker).unbind("keydown", this._doKeyDown).unbind("keypress", this._doKeyPress).unbind("keyup",
this._doKeyUp)
                } else if (i == "div" || i == "span") d.removeClass(this.markerClassName).empty()
            } 
        }, _enableDatepicker: function (a) {
            var d = b(a), h = b.data(a, "datepicker"); if (d.hasClass(this.markerClassName)) {
                var i = a.nodeName.toLowerCase(); if (i == "input") { a.disabled = false; h.trigger.filter("button").each(function () { this.disabled = false }).end().filter("img").css({ opacity: "1.0", cursor: "" }) } else if (i == "div" || i == "span") d.children("." + this._inlineClass).children().removeClass("ui-state-disabled"); this._disabledInputs = b.map(this._disabledInputs,
function (j) { return j == a ? null : j })
            } 
        }, _disableDatepicker: function (a) {
            var d = b(a), h = b.data(a, "datepicker"); if (d.hasClass(this.markerClassName)) {
                var i = a.nodeName.toLowerCase(); if (i == "input") { a.disabled = true; h.trigger.filter("button").each(function () { this.disabled = true }).end().filter("img").css({ opacity: "0.5", cursor: "default" }) } else if (i == "div" || i == "span") d.children("." + this._inlineClass).children().addClass("ui-state-disabled"); this._disabledInputs = b.map(this._disabledInputs, function (j) {
                    return j == a ? null :
j
                }); this._disabledInputs[this._disabledInputs.length] = a
            } 
        }, _isDisabledDatepicker: function (a) { if (!a) return false; for (var d = 0; d < this._disabledInputs.length; d++) if (this._disabledInputs[d] == a) return true; return false }, _getInst: function (a) { try { return b.data(a, "datepicker") } catch (d) { throw "Missing instance data for this datepicker"; } }, _optionDatepicker: function (a, d, h) {
            var i = this._getInst(a); if (arguments.length == 2 && typeof d == "string") return d == "defaults" ? b.extend({}, b.datepicker._defaults) : i ? d == "all" ? b.extend({},
i.settings) : this._get(i, d) : null; var j = d || {}; if (typeof d == "string") { j = {}; j[d] = h } if (i) { this._curInst == i && this._hideDatepicker(); var n = this._getDateDatepicker(a, true); g(i.settings, j); this._attachments(b(a), i); this._autoSize(i); this._setDateDatepicker(a, n); this._updateDatepicker(i) } 
        }, _changeDatepicker: function (a, d, h) { this._optionDatepicker(a, d, h) }, _refreshDatepicker: function (a) { (a = this._getInst(a)) && this._updateDatepicker(a) }, _setDateDatepicker: function (a, d) {
            if (a = this._getInst(a)) {
                this._setDate(a, d);
                this._updateDatepicker(a); this._updateAlternate(a)
            } 
        }, _getDateDatepicker: function (a, d) { (a = this._getInst(a)) && !a.inline && this._setDateFromField(a, d); return a ? this._getDate(a) : null }, _doKeyDown: function (a) {
            var d = b.datepicker._getInst(a.target), h = true, i = d.dpDiv.is(".ui-datepicker-rtl"); d._keyEvent = true; if (b.datepicker._datepickerShowing) switch (a.keyCode) {
                case 9: b.datepicker._hideDatepicker(); h = false; break; case 13: h = b("td." + b.datepicker._dayOverClass + ":not(." + b.datepicker._currentClass + ")", d.dpDiv); h[0] ?
b.datepicker._selectDay(a.target, d.selectedMonth, d.selectedYear, h[0]) : b.datepicker._hideDatepicker(); return false; case 27: b.datepicker._hideDatepicker(); break; case 33: b.datepicker._adjustDate(a.target, a.ctrlKey ? -b.datepicker._get(d, "stepBigMonths") : -b.datepicker._get(d, "stepMonths"), "M"); break; case 34: b.datepicker._adjustDate(a.target, a.ctrlKey ? +b.datepicker._get(d, "stepBigMonths") : +b.datepicker._get(d, "stepMonths"), "M"); break; case 35: if (a.ctrlKey || a.metaKey) b.datepicker._clearDate(a.target); h = a.ctrlKey ||
a.metaKey; break; case 36: if (a.ctrlKey || a.metaKey) b.datepicker._gotoToday(a.target); h = a.ctrlKey || a.metaKey; break; case 37: if (a.ctrlKey || a.metaKey) b.datepicker._adjustDate(a.target, i ? +1 : -1, "D"); h = a.ctrlKey || a.metaKey; if (a.originalEvent.altKey) b.datepicker._adjustDate(a.target, a.ctrlKey ? -b.datepicker._get(d, "stepBigMonths") : -b.datepicker._get(d, "stepMonths"), "M"); break; case 38: if (a.ctrlKey || a.metaKey) b.datepicker._adjustDate(a.target, -7, "D"); h = a.ctrlKey || a.metaKey; break; case 39: if (a.ctrlKey || a.metaKey) b.datepicker._adjustDate(a.target,
i ? -1 : +1, "D"); h = a.ctrlKey || a.metaKey; if (a.originalEvent.altKey) b.datepicker._adjustDate(a.target, a.ctrlKey ? +b.datepicker._get(d, "stepBigMonths") : +b.datepicker._get(d, "stepMonths"), "M"); break; case 40: if (a.ctrlKey || a.metaKey) b.datepicker._adjustDate(a.target, +7, "D"); h = a.ctrlKey || a.metaKey; break; default: h = false
            } else if (a.keyCode == 36 && a.ctrlKey) b.datepicker._showDatepicker(this); else h = false; if (h) { a.preventDefault(); a.stopPropagation() } 
        }, _doKeyPress: function (a) {
            var d = b.datepicker._getInst(a.target); if (b.datepicker._get(d,
"constrainInput")) { d = b.datepicker._possibleChars(b.datepicker._get(d, "dateFormat")); var h = String.fromCharCode(a.charCode == c ? a.keyCode : a.charCode); return a.ctrlKey || a.metaKey || h < " " || !d || d.indexOf(h) > -1 } 
        }, _doKeyUp: function (a) { a = b.datepicker._getInst(a.target); if (a.input.val() != a.lastVal) try { if (b.datepicker.parseDate(b.datepicker._get(a, "dateFormat"), a.input ? a.input.val() : null, b.datepicker._getFormatConfig(a))) { b.datepicker._setDateFromField(a); b.datepicker._updateAlternate(a); b.datepicker._updateDatepicker(a) } } catch (d) { b.datepicker.log(d) } return true },
        _showDatepicker: function (a) {
            a = a.target || a; if (a.nodeName.toLowerCase() != "input") a = b("input", a.parentNode)[0]; if (!(b.datepicker._isDisabledDatepicker(a) || b.datepicker._lastInput == a)) {
                var d = b.datepicker._getInst(a); b.datepicker._curInst && b.datepicker._curInst != d && b.datepicker._curInst.dpDiv.stop(true, true); var h = b.datepicker._get(d, "beforeShow"); g(d.settings, h ? h.apply(a, [a, d]) : {}); d.lastVal = null; b.datepicker._lastInput = a; b.datepicker._setDateFromField(d); if (b.datepicker._inDialog) a.value = ""; if (!b.datepicker._pos) {
                    b.datepicker._pos =
b.datepicker._findPos(a); b.datepicker._pos[1] += a.offsetHeight
                } var i = false; b(a).parents().each(function () { i |= b(this).css("position") == "fixed"; return !i }); if (i && b.browser.opera) { b.datepicker._pos[0] -= document.documentElement.scrollLeft; b.datepicker._pos[1] -= document.documentElement.scrollTop } h = { left: b.datepicker._pos[0], top: b.datepicker._pos[1] }; b.datepicker._pos = null; d.dpDiv.empty(); d.dpDiv.css({ position: "absolute", display: "block", top: "-1000px" }); b.datepicker._updateDatepicker(d); h = b.datepicker._checkOffset(d,
h, i); d.dpDiv.css({ position: b.datepicker._inDialog && b.blockUI ? "static" : i ? "fixed" : "absolute", display: "none", left: h.left + "px", top: h.top + "px" }); if (!d.inline) {
                    h = b.datepicker._get(d, "showAnim"); var j = b.datepicker._get(d, "duration"), n = function () { b.datepicker._datepickerShowing = true; var q = d.dpDiv.find("iframe.ui-datepicker-cover"); if (q.length) { var l = b.datepicker._getBorders(d.dpDiv); q.css({ left: -l[0], top: -l[1], width: d.dpDiv.outerWidth(), height: d.dpDiv.outerHeight() }) } }; d.dpDiv.zIndex(b(a).zIndex() + 1); b.effects &&
b.effects[h] ? d.dpDiv.show(h, b.datepicker._get(d, "showOptions"), j, n) : d.dpDiv[h || "show"](h ? j : null, n); if (!h || !j) n(); d.input.is(":visible") && !d.input.is(":disabled") && d.input.focus(); b.datepicker._curInst = d
                } 
            } 
        }, _updateDatepicker: function (a) {
            var d = this, h = b.datepicker._getBorders(a.dpDiv); a.dpDiv.empty().append(this._generateHTML(a)); var i = a.dpDiv.find("iframe.ui-datepicker-cover"); i.length && i.css({ left: -h[0], top: -h[1], width: a.dpDiv.outerWidth(), height: a.dpDiv.outerHeight() }); a.dpDiv.find("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a").bind("mouseout",
function () { b(this).removeClass("ui-state-hover"); this.className.indexOf("ui-datepicker-prev") != -1 && b(this).removeClass("ui-datepicker-prev-hover"); this.className.indexOf("ui-datepicker-next") != -1 && b(this).removeClass("ui-datepicker-next-hover") }).bind("mouseover", function () {
    if (!d._isDisabledDatepicker(a.inline ? a.dpDiv.parent()[0] : a.input[0])) {
        b(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"); b(this).addClass("ui-state-hover"); this.className.indexOf("ui-datepicker-prev") !=
-1 && b(this).addClass("ui-datepicker-prev-hover"); this.className.indexOf("ui-datepicker-next") != -1 && b(this).addClass("ui-datepicker-next-hover")
    } 
}).end().find("." + this._dayOverClass + " a").trigger("mouseover").end(); h = this._getNumberOfMonths(a); i = h[1]; i > 1 ? a.dpDiv.addClass("ui-datepicker-multi-" + i).css("width", 17 * i + "em") : a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""); a.dpDiv[(h[0] != 1 || h[1] != 1 ? "add" : "remove") + "Class"]("ui-datepicker-multi"); a.dpDiv[(this._get(a,
"isRTL") ? "add" : "remove") + "Class"]("ui-datepicker-rtl"); a == b.datepicker._curInst && b.datepicker._datepickerShowing && a.input && a.input.is(":visible") && !a.input.is(":disabled") && a.input.focus(); if (a.yearshtml) { var j = a.yearshtml; setTimeout(function () { j === a.yearshtml && a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml); j = a.yearshtml = null }, 0) } 
        }, _getBorders: function (a) { var d = function (h) { return { thin: 1, medium: 2, thick: 3}[h] || h }; return [parseFloat(d(a.css("border-left-width"))), parseFloat(d(a.css("border-top-width")))] },
        _checkOffset: function (a, d, h) {
            var i = a.dpDiv.outerWidth(), j = a.dpDiv.outerHeight(), n = a.input ? a.input.outerWidth() : 0, q = a.input ? a.input.outerHeight() : 0, l = document.documentElement.clientWidth + b(document).scrollLeft(), k = document.documentElement.clientHeight + b(document).scrollTop(); d.left -= this._get(a, "isRTL") ? i - n : 0; d.left -= h && d.left == a.input.offset().left ? b(document).scrollLeft() : 0; d.top -= h && d.top == a.input.offset().top + q ? b(document).scrollTop() : 0; d.left -= Math.min(d.left, d.left + i > l && l > i ? Math.abs(d.left + i -
l) : 0); d.top -= Math.min(d.top, d.top + j > k && k > j ? Math.abs(j + q) : 0); return d
        }, _findPos: function (a) { for (var d = this._get(this._getInst(a), "isRTL"); a && (a.type == "hidden" || a.nodeType != 1); ) a = a[d ? "previousSibling" : "nextSibling"]; a = b(a).offset(); return [a.left, a.top] }, _hideDatepicker: function (a) {
            var d = this._curInst; if (!(!d || a && d != b.data(a, "datepicker"))) if (this._datepickerShowing) {
                a = this._get(d, "showAnim"); var h = this._get(d, "duration"), i = function () { b.datepicker._tidyDialog(d); this._curInst = null }; b.effects && b.effects[a] ?
d.dpDiv.hide(a, b.datepicker._get(d, "showOptions"), h, i) : d.dpDiv[a == "slideDown" ? "slideUp" : a == "fadeIn" ? "fadeOut" : "hide"](a ? h : null, i); a || i(); if (a = this._get(d, "onClose")) a.apply(d.input ? d.input[0] : null, [d.input ? d.input.val() : "", d]); this._datepickerShowing = false; this._lastInput = null; if (this._inDialog) { this._dialogInput.css({ position: "absolute", left: "0", top: "-100px" }); if (b.blockUI) { b.unblockUI(); b("body").append(this.dpDiv) } } this._inDialog = false
            } 
        }, _tidyDialog: function (a) { a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar") },
        _checkExternalClick: function (a) { if (b.datepicker._curInst) { a = b(a.target); a[0].id != b.datepicker._mainDivId && a.parents("#" + b.datepicker._mainDivId).length == 0 && !a.hasClass(b.datepicker.markerClassName) && !a.hasClass(b.datepicker._triggerClass) && b.datepicker._datepickerShowing && !(b.datepicker._inDialog && b.blockUI) && b.datepicker._hideDatepicker() } }, _adjustDate: function (a, d, h) {
            a = b(a); var i = this._getInst(a[0]); if (!this._isDisabledDatepicker(a[0])) {
                this._adjustInstDate(i, d + (h == "M" ? this._get(i, "showCurrentAtPos") :
0), h); this._updateDatepicker(i)
            } 
        }, _gotoToday: function (a) { a = b(a); var d = this._getInst(a[0]); if (this._get(d, "gotoCurrent") && d.currentDay) { d.selectedDay = d.currentDay; d.drawMonth = d.selectedMonth = d.currentMonth; d.drawYear = d.selectedYear = d.currentYear } else { var h = new Date; d.selectedDay = h.getDate(); d.drawMonth = d.selectedMonth = h.getMonth(); d.drawYear = d.selectedYear = h.getFullYear() } this._notifyChange(d); this._adjustDate(a) }, _selectMonthYear: function (a, d, h) {
            a = b(a); var i = this._getInst(a[0]); i._selectingMonthYear =
false; i["selected" + (h == "M" ? "Month" : "Year")] = i["draw" + (h == "M" ? "Month" : "Year")] = parseInt(d.options[d.selectedIndex].value, 10); this._notifyChange(i); this._adjustDate(a)
        }, _clickMonthYear: function (a) { var d = this._getInst(b(a)[0]); d.input && d._selectingMonthYear && setTimeout(function () { d.input.focus() }, 0); d._selectingMonthYear = !d._selectingMonthYear }, _selectDay: function (a, d, h, i) {
            var j = b(a); if (!(b(i).hasClass(this._unselectableClass) || this._isDisabledDatepicker(j[0]))) {
                j = this._getInst(j[0]); j.selectedDay = j.currentDay =
b("a", i).html(); j.selectedMonth = j.currentMonth = d; j.selectedYear = j.currentYear = h; this._selectDate(a, this._formatDate(j, j.currentDay, j.currentMonth, j.currentYear))
            } 
        }, _clearDate: function (a) { a = b(a); this._getInst(a[0]); this._selectDate(a, "") }, _selectDate: function (a, d) {
            a = this._getInst(b(a)[0]); d = d != null ? d : this._formatDate(a); a.input && a.input.val(d); this._updateAlternate(a); var h = this._get(a, "onSelect"); if (h) h.apply(a.input ? a.input[0] : null, [d, a]); else a.input && a.input.trigger("change"); if (a.inline) this._updateDatepicker(a);
            else { this._hideDatepicker(); this._lastInput = a.input[0]; typeof a.input[0] != "object" && a.input.focus(); this._lastInput = null } 
        }, _updateAlternate: function (a) { var d = this._get(a, "altField"); if (d) { var h = this._get(a, "altFormat") || this._get(a, "dateFormat"), i = this._getDate(a), j = this.formatDate(h, i, this._getFormatConfig(a)); b(d).each(function () { b(this).val(j) }) } }, noWeekends: function (a) { a = a.getDay(); return [a > 0 && a < 6, ""] }, iso8601Week: function (a) {
            a = new Date(a.getTime()); a.setDate(a.getDate() + 4 - (a.getDay() || 7)); var d =
a.getTime(); a.setMonth(0); a.setDate(1); return Math.floor(Math.round((d - a) / 864E5) / 7) + 1
        }, parseDate: function (a, d, h) {
            if (a == null || d == null) throw "Invalid arguments"; d = typeof d == "object" ? d.toString() : d + ""; if (d == "") return null; for (var i = (h ? h.shortYearCutoff : null) || this._defaults.shortYearCutoff, j = (h ? h.dayNamesShort : null) || this._defaults.dayNamesShort, n = (h ? h.dayNames : null) || this._defaults.dayNames, q = (h ? h.monthNamesShort : null) || this._defaults.monthNamesShort, l = (h ? h.monthNames : null) || this._defaults.monthNames,
k = h = -1, m = -1, o = -1, p = false, s = function (x) { (x = y + 1 < a.length && a.charAt(y + 1) == x) && y++; return x }, r = function (x) { var C = s(x); x = new RegExp("^\\d{1," + (x == "@" ? 14 : x == "!" ? 20 : x == "y" && C ? 4 : x == "o" ? 3 : 2) + "}"); x = d.substring(w).match(x); if (!x) throw "Missing number at position " + w; w += x[0].length; return parseInt(x[0], 10) }, u = function (x, C, J) { x = s(x) ? J : C; for (C = 0; C < x.length; C++) if (d.substr(w, x[C].length).toLowerCase() == x[C].toLowerCase()) { w += x[C].length; return C + 1 } throw "Unknown name at position " + w; }, v = function () {
    if (d.charAt(w) !=
a.charAt(y)) throw "Unexpected literal at position " + w; w++
}, w = 0, y = 0; y < a.length; y++) if (p) if (a.charAt(y) == "'" && !s("'")) p = false; else v(); else switch (a.charAt(y)) {
                case "d": m = r("d"); break; case "D": u("D", j, n); break; case "o": o = r("o"); break; case "m": k = r("m"); break; case "M": k = u("M", q, l); break; case "y": h = r("y"); break; case "@": var B = new Date(r("@")); h = B.getFullYear(); k = B.getMonth() + 1; m = B.getDate(); break; case "!": B = new Date((r("!") - this._ticksTo1970) / 1E4); h = B.getFullYear(); k = B.getMonth() + 1; m = B.getDate(); break;
                case "'": if (s("'")) v(); else p = true; break; default: v()
            } if (h == -1) h = (new Date).getFullYear(); else if (h < 100) h += (new Date).getFullYear() - (new Date).getFullYear() % 100 + (h <= i ? 0 : -100); if (o > -1) { k = 1; m = o; do { i = this._getDaysInMonth(h, k - 1); if (m <= i) break; k++; m -= i } while (1) } B = this._daylightSavingAdjust(new Date(h, k - 1, m)); if (B.getFullYear() != h || B.getMonth() + 1 != k || B.getDate() != m) throw "Invalid date"; return B
        }, ATOM: "yy-mm-dd", COOKIE: "D, dd M yy", ISO_8601: "yy-mm-dd", RFC_822: "D, d M y", RFC_850: "DD, dd-M-y", RFC_1036: "D, d M y",
        RFC_1123: "D, d M yy", RFC_2822: "D, d M yy", RSS: "D, d M y", TICKS: "!", TIMESTAMP: "@", W3C: "yy-mm-dd", _ticksTo1970: (718685 + Math.floor(492.5) - Math.floor(19.7) + Math.floor(4.925)) * 24 * 60 * 60 * 1E7, formatDate: function (a, d, h) {
            if (!d) return ""; var i = (h ? h.dayNamesShort : null) || this._defaults.dayNamesShort, j = (h ? h.dayNames : null) || this._defaults.dayNames, n = (h ? h.monthNamesShort : null) || this._defaults.monthNamesShort; h = (h ? h.monthNames : null) || this._defaults.monthNames; var q = function (s) {
                (s = p + 1 < a.length && a.charAt(p + 1) == s) && p++;
                return s
            }, l = function (s, r, u) { r = "" + r; if (q(s)) for (; r.length < u; ) r = "0" + r; return r }, k = function (s, r, u, v) { return q(s) ? v[r] : u[r] }, m = "", o = false; if (d) for (var p = 0; p < a.length; p++) if (o) if (a.charAt(p) == "'" && !q("'")) o = false; else m += a.charAt(p); else switch (a.charAt(p)) {
                case "d": m += l("d", d.getDate(), 2); break; case "D": m += k("D", d.getDay(), i, j); break; case "o": m += l("o", (d.getTime() - (new Date(d.getFullYear(), 0, 0)).getTime()) / 864E5, 3); break; case "m": m += l("m", d.getMonth() + 1, 2); break; case "M": m += k("M", d.getMonth(), n, h); break;
                case "y": m += q("y") ? d.getFullYear() : (d.getYear() % 100 < 10 ? "0" : "") + d.getYear() % 100; break; case "@": m += d.getTime(); break; case "!": m += d.getTime() * 1E4 + this._ticksTo1970; break; case "'": if (q("'")) m += "'"; else o = true; break; default: m += a.charAt(p)
            } return m
        }, _possibleChars: function (a) {
            for (var d = "", h = false, i = function (n) { (n = j + 1 < a.length && a.charAt(j + 1) == n) && j++; return n }, j = 0; j < a.length; j++) if (h) if (a.charAt(j) == "'" && !i("'")) h = false; else d += a.charAt(j); else switch (a.charAt(j)) {
                case "d": case "m": case "y": case "@": d +=
"0123456789"; break; case "D": case "M": return null; case "'": if (i("'")) d += "'"; else h = true; break; default: d += a.charAt(j)
            } return d
        }, _get: function (a, d) { return a.settings[d] !== c ? a.settings[d] : this._defaults[d] }, _setDateFromField: function (a, d) {
            if (a.input.val() != a.lastVal) {
                var h = this._get(a, "dateFormat"), i = a.lastVal = a.input ? a.input.val() : null, j, n; j = n = this._getDefaultDate(a); var q = this._getFormatConfig(a); try { j = this.parseDate(h, i, q) || n } catch (l) { this.log(l); i = d ? "" : i } a.selectedDay = j.getDate(); a.drawMonth = a.selectedMonth =
j.getMonth(); a.drawYear = a.selectedYear = j.getFullYear(); a.currentDay = i ? j.getDate() : 0; a.currentMonth = i ? j.getMonth() : 0; a.currentYear = i ? j.getFullYear() : 0; this._adjustInstDate(a)
            } 
        }, _getDefaultDate: function (a) { return this._restrictMinMax(a, this._determineDate(a, this._get(a, "defaultDate"), new Date)) }, _determineDate: function (a, d, h) {
            var i = function (n) { var q = new Date; q.setDate(q.getDate() + n); return q }, j = function (n) {
                try { return b.datepicker.parseDate(b.datepicker._get(a, "dateFormat"), n, b.datepicker._getFormatConfig(a)) } catch (q) { } var l =
(n.toLowerCase().match(/^c/) ? b.datepicker._getDate(a) : null) || new Date, k = l.getFullYear(), m = l.getMonth(); l = l.getDate(); for (var o = /([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g, p = o.exec(n); p; ) { switch (p[2] || "d") { case "d": case "D": l += parseInt(p[1], 10); break; case "w": case "W": l += parseInt(p[1], 10) * 7; break; case "m": case "M": m += parseInt(p[1], 10); l = Math.min(l, b.datepicker._getDaysInMonth(k, m)); break; case "y": case "Y": k += parseInt(p[1], 10); l = Math.min(l, b.datepicker._getDaysInMonth(k, m)); break } p = o.exec(n) } return new Date(k,
m, l)
            }; if (d = (d = d == null || d === "" ? h : typeof d == "string" ? j(d) : typeof d == "number" ? isNaN(d) ? h : i(d) : new Date(d.getTime())) && d.toString() == "Invalid Date" ? h : d) { d.setHours(0); d.setMinutes(0); d.setSeconds(0); d.setMilliseconds(0) } return this._daylightSavingAdjust(d)
        }, _daylightSavingAdjust: function (a) { if (!a) return null; a.setHours(a.getHours() > 12 ? a.getHours() + 2 : 0); return a }, _setDate: function (a, d, h) {
            var i = !d, j = a.selectedMonth, n = a.selectedYear; d = this._restrictMinMax(a, this._determineDate(a, d, new Date)); a.selectedDay =
a.currentDay = d.getDate(); a.drawMonth = a.selectedMonth = a.currentMonth = d.getMonth(); a.drawYear = a.selectedYear = a.currentYear = d.getFullYear(); if ((j != a.selectedMonth || n != a.selectedYear) && !h) this._notifyChange(a); this._adjustInstDate(a); if (a.input) a.input.val(i ? "" : this._formatDate(a))
        }, _getDate: function (a) { return !a.currentYear || a.input && a.input.val() == "" ? null : this._daylightSavingAdjust(new Date(a.currentYear, a.currentMonth, a.currentDay)) }, _generateHTML: function (a) {
            var d = new Date; d = this._daylightSavingAdjust(new Date(d.getFullYear(),
d.getMonth(), d.getDate())); var h = this._get(a, "isRTL"), i = this._get(a, "showButtonPanel"), j = this._get(a, "hideIfNoPrevNext"), n = this._get(a, "navigationAsDateFormat"), q = this._getNumberOfMonths(a), l = this._get(a, "showCurrentAtPos"), k = this._get(a, "stepMonths"), m = q[0] != 1 || q[1] != 1, o = this._daylightSavingAdjust(!a.currentDay ? new Date(9999, 9, 9) : new Date(a.currentYear, a.currentMonth, a.currentDay)), p = this._getMinMaxDate(a, "min"), s = this._getMinMaxDate(a, "max"); l = a.drawMonth - l; var r = a.drawYear; if (l < 0) { l += 12; r-- } if (s) {
                var u =
this._daylightSavingAdjust(new Date(s.getFullYear(), s.getMonth() - q[0] * q[1] + 1, s.getDate())); for (u = p && u < p ? p : u; this._daylightSavingAdjust(new Date(r, l, 1)) > u; ) { l--; if (l < 0) { l = 11; r-- } } 
            } a.drawMonth = l; a.drawYear = r; u = this._get(a, "prevText"); u = !n ? u : this.formatDate(u, this._daylightSavingAdjust(new Date(r, l - k, 1)), this._getFormatConfig(a)); u = this._canAdjustMonth(a, -1, r, l) ? '<a class="ui-datepicker-prev ui-corner-all" onclick="DP_jQuery_' + e + ".datepicker._adjustDate('#" + a.id + "', -" + k + ", 'M');\" title=\"" + u + '"><span class="ui-icon ui-icon-circle-triangle-' +
(h ? "e" : "w") + '">' + u + "</span></a>" : j ? "" : '<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="' + u + '"><span class="ui-icon ui-icon-circle-triangle-' + (h ? "e" : "w") + '">' + u + "</span></a>"; var v = this._get(a, "nextText"); v = !n ? v : this.formatDate(v, this._daylightSavingAdjust(new Date(r, l + k, 1)), this._getFormatConfig(a)); j = this._canAdjustMonth(a, +1, r, l) ? '<a class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery_' + e + ".datepicker._adjustDate('#" + a.id + "', +" + k + ", 'M');\" title=\"" + v + '"><span class="ui-icon ui-icon-circle-triangle-' +
(h ? "w" : "e") + '">' + v + "</span></a>" : j ? "" : '<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="' + v + '"><span class="ui-icon ui-icon-circle-triangle-' + (h ? "w" : "e") + '">' + v + "</span></a>"; k = this._get(a, "currentText"); v = this._get(a, "gotoCurrent") && a.currentDay ? o : d; k = !n ? k : this.formatDate(k, v, this._getFormatConfig(a)); n = !a.inline ? '<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" onclick="DP_jQuery_' + e + '.datepicker._hideDatepicker();">' + this._get(a,
"closeText") + "</button>" : ""; i = i ? '<div class="ui-datepicker-buttonpane ui-widget-content">' + (h ? n : "") + (this._isInRange(a, v) ? '<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" onclick="DP_jQuery_' + e + ".datepicker._gotoToday('#" + a.id + "');\">" + k + "</button>" : "") + (h ? "" : n) + "</div>" : ""; n = parseInt(this._get(a, "firstDay"), 10); n = isNaN(n) ? 0 : n; k = this._get(a, "showWeek"); v = this._get(a, "dayNames"); this._get(a, "dayNamesShort"); var w = this._get(a, "dayNamesMin"), y =
this._get(a, "monthNames"), B = this._get(a, "monthNamesShort"), x = this._get(a, "beforeShowDay"), C = this._get(a, "showOtherMonths"), J = this._get(a, "selectOtherMonths"); this._get(a, "calculateWeek"); for (var M = this._getDefaultDate(a), K = "", G = 0; G < q[0]; G++) {
                for (var N = "", H = 0; H < q[1]; H++) {
                    var O = this._daylightSavingAdjust(new Date(r, l, a.selectedDay)), A = " ui-corner-all", D = ""; if (m) {
                        D += '<div class="ui-datepicker-group'; if (q[1] > 1) switch (H) {
                            case 0: D += " ui-datepicker-group-first"; A = " ui-corner-" + (h ? "right" : "left"); break; case q[1] -
1: D += " ui-datepicker-group-last"; A = " ui-corner-" + (h ? "left" : "right"); break; default: D += " ui-datepicker-group-middle"; A = ""; break
                        } D += '">'
                    } D += '<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix' + A + '">' + (/all|left/.test(A) && G == 0 ? h ? j : u : "") + (/all|right/.test(A) && G == 0 ? h ? u : j : "") + this._generateMonthYearHeader(a, l, r, p, s, G > 0 || H > 0, y, B) + '</div><table class="ui-datepicker-calendar"><thead><tr>'; var E = k ? '<th class="ui-datepicker-week-col">' + this._get(a, "weekHeader") + "</th>" : ""; for (A = 0; A < 7; A++) {
                        var z =
(A + n) % 7; E += "<th" + ((A + n + 6) % 7 >= 5 ? ' class="ui-datepicker-week-end"' : "") + '><span title="' + v[z] + '">' + w[z] + "</span></th>"
                    } D += E + "</tr></thead><tbody>"; E = this._getDaysInMonth(r, l); if (r == a.selectedYear && l == a.selectedMonth) a.selectedDay = Math.min(a.selectedDay, E); A = (this._getFirstDayOfMonth(r, l) - n + 7) % 7; E = m ? 6 : Math.ceil((A + E) / 7); z = this._daylightSavingAdjust(new Date(r, l, 1 - A)); for (var P = 0; P < E; P++) {
                        D += "<tr>"; var Q = !k ? "" : '<td class="ui-datepicker-week-col">' + this._get(a, "calculateWeek")(z) + "</td>"; for (A = 0; A < 7; A++) {
                            var I =
x ? x.apply(a.input ? a.input[0] : null, [z]) : [true, ""], F = z.getMonth() != l, L = F && !J || !I[0] || p && z < p || s && z > s; Q += '<td class="' + ((A + n + 6) % 7 >= 5 ? " ui-datepicker-week-end" : "") + (F ? " ui-datepicker-other-month" : "") + (z.getTime() == O.getTime() && l == a.selectedMonth && a._keyEvent || M.getTime() == z.getTime() && M.getTime() == O.getTime() ? " " + this._dayOverClass : "") + (L ? " " + this._unselectableClass + " ui-state-disabled" : "") + (F && !C ? "" : " " + I[1] + (z.getTime() == o.getTime() ? " " + this._currentClass : "") + (z.getTime() == d.getTime() ? " ui-datepicker-today" :
"")) + '"' + ((!F || C) && I[2] ? ' title="' + I[2] + '"' : "") + (L ? "" : ' onclick="DP_jQuery_' + e + ".datepicker._selectDay('#" + a.id + "'," + z.getMonth() + "," + z.getFullYear() + ', this);return false;"') + ">" + (F && !C ? "&#xa0;" : L ? '<span class="ui-state-default">' + z.getDate() + "</span>" : '<a class="ui-state-default' + (z.getTime() == d.getTime() ? " ui-state-highlight" : "") + (z.getTime() == o.getTime() ? " ui-state-active" : "") + (F ? " ui-priority-secondary" : "") + '" href="#">' + z.getDate() + "</a>") + "</td>"; z.setDate(z.getDate() + 1); z = this._daylightSavingAdjust(z)
                        } D +=
Q + "</tr>"
                    } l++; if (l > 11) { l = 0; r++ } D += "</tbody></table>" + (m ? "</div>" + (q[0] > 0 && H == q[1] - 1 ? '<div class="ui-datepicker-row-break"></div>' : "") : ""); N += D
                } K += N
            } K += i + (b.browser.msie && parseInt(b.browser.version, 10) < 7 && !a.inline ? '<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>' : ""); a._keyEvent = false; return K
        }, _generateMonthYearHeader: function (a, d, h, i, j, n, q, l) {
            var k = this._get(a, "changeMonth"), m = this._get(a, "changeYear"), o = this._get(a, "showMonthAfterYear"), p = '<div class="ui-datepicker-title">',
s = ""; if (n || !k) s += '<span class="ui-datepicker-month">' + q[d] + "</span>"; else { q = i && i.getFullYear() == h; var r = j && j.getFullYear() == h; s += '<select class="ui-datepicker-month" onchange="DP_jQuery_' + e + ".datepicker._selectMonthYear('#" + a.id + "', this, 'M');\" onclick=\"DP_jQuery_" + e + ".datepicker._clickMonthYear('#" + a.id + "');\">"; for (var u = 0; u < 12; u++) if ((!q || u >= i.getMonth()) && (!r || u <= j.getMonth())) s += '<option value="' + u + '"' + (u == d ? ' selected="selected"' : "") + ">" + l[u] + "</option>"; s += "</select>" } o || (p += s + (n || !(k &&
m) ? "&#xa0;" : "")); a.yearshtml = ""; if (n || !m) p += '<span class="ui-datepicker-year">' + h + "</span>"; else {
                l = this._get(a, "yearRange").split(":"); var v = (new Date).getFullYear(); q = function (w) { w = w.match(/c[+-].*/) ? h + parseInt(w.substring(1), 10) : w.match(/[+-].*/) ? v + parseInt(w, 10) : parseInt(w, 10); return isNaN(w) ? v : w }; d = q(l[0]); l = Math.max(d, q(l[1] || "")); d = i ? Math.max(d, i.getFullYear()) : d; l = j ? Math.min(l, j.getFullYear()) : l; for (a.yearshtml += '<select class="ui-datepicker-year" onchange="DP_jQuery_' + e + ".datepicker._selectMonthYear('#" +
a.id + "', this, 'Y');\" onclick=\"DP_jQuery_" + e + ".datepicker._clickMonthYear('#" + a.id + "');\">"; d <= l; d++) a.yearshtml += '<option value="' + d + '"' + (d == h ? ' selected="selected"' : "") + ">" + d + "</option>"; a.yearshtml += "</select>"; if (b.browser.mozilla) p += '<select class="ui-datepicker-year"><option value="' + h + '" selected="selected">' + h + "</option></select>"; else { p += a.yearshtml; a.yearshtml = null } 
            } p += this._get(a, "yearSuffix"); if (o) p += (n || !(k && m) ? "&#xa0;" : "") + s; p += "</div>"; return p
        }, _adjustInstDate: function (a, d, h) {
            var i =
a.drawYear + (h == "Y" ? d : 0), j = a.drawMonth + (h == "M" ? d : 0); d = Math.min(a.selectedDay, this._getDaysInMonth(i, j)) + (h == "D" ? d : 0); i = this._restrictMinMax(a, this._daylightSavingAdjust(new Date(i, j, d))); a.selectedDay = i.getDate(); a.drawMonth = a.selectedMonth = i.getMonth(); a.drawYear = a.selectedYear = i.getFullYear(); if (h == "M" || h == "Y") this._notifyChange(a)
        }, _restrictMinMax: function (a, d) { var h = this._getMinMaxDate(a, "min"); a = this._getMinMaxDate(a, "max"); d = h && d < h ? h : d; return d = a && d > a ? a : d }, _notifyChange: function (a) {
            var d = this._get(a,
"onChangeMonthYear"); if (d) d.apply(a.input ? a.input[0] : null, [a.selectedYear, a.selectedMonth + 1, a])
        }, _getNumberOfMonths: function (a) { a = this._get(a, "numberOfMonths"); return a == null ? [1, 1] : typeof a == "number" ? [1, a] : a }, _getMinMaxDate: function (a, d) { return this._determineDate(a, this._get(a, d + "Date"), null) }, _getDaysInMonth: function (a, d) { return 32 - (new Date(a, d, 32)).getDate() }, _getFirstDayOfMonth: function (a, d) { return (new Date(a, d, 1)).getDay() }, _canAdjustMonth: function (a, d, h, i) {
            var j = this._getNumberOfMonths(a);
            h = this._daylightSavingAdjust(new Date(h, i + (d < 0 ? d : j[0] * j[1]), 1)); d < 0 && h.setDate(this._getDaysInMonth(h.getFullYear(), h.getMonth())); return this._isInRange(a, h)
        }, _isInRange: function (a, d) { var h = this._getMinMaxDate(a, "min"); a = this._getMinMaxDate(a, "max"); return (!h || d.getTime() >= h.getTime()) && (!a || d.getTime() <= a.getTime()) }, _getFormatConfig: function (a) {
            var d = this._get(a, "shortYearCutoff"); d = typeof d != "string" ? d : (new Date).getFullYear() % 100 + parseInt(d, 10); return { shortYearCutoff: d, dayNamesShort: this._get(a,
"dayNamesShort"), dayNames: this._get(a, "dayNames"), monthNamesShort: this._get(a, "monthNamesShort"), monthNames: this._get(a, "monthNames")
            }
        }, _formatDate: function (a, d, h, i) { if (!d) { a.currentDay = a.selectedDay; a.currentMonth = a.selectedMonth; a.currentYear = a.selectedYear } d = d ? typeof d == "object" ? d : this._daylightSavingAdjust(new Date(i, h, d)) : this._daylightSavingAdjust(new Date(a.currentYear, a.currentMonth, a.currentDay)); return this.formatDate(this._get(a, "dateFormat"), d, this._getFormatConfig(a)) } 
    }); b.fn.datepicker =
function (a) {
    if (!b.datepicker.initialized) { b(document).mousedown(b.datepicker._checkExternalClick).find("body").append(b.datepicker.dpDiv); b.datepicker.initialized = true } var d = Array.prototype.slice.call(arguments, 1); if (typeof a == "string" && (a == "isDisabled" || a == "getDate" || a == "widget")) return b.datepicker["_" + a + "Datepicker"].apply(b.datepicker, [this[0]].concat(d)); if (a == "option" && arguments.length == 2 && typeof arguments[1] == "string") return b.datepicker["_" + a + "Datepicker"].apply(b.datepicker, [this[0]].concat(d));
    return this.each(function () { typeof a == "string" ? b.datepicker["_" + a + "Datepicker"].apply(b.datepicker, [this].concat(d)) : b.datepicker._attachDatepicker(this, a) })
}; b.datepicker = new f; b.datepicker.initialized = false; b.datepicker.uuid = (new Date).getTime(); b.datepicker.version = "1.8.7"; window["DP_jQuery_" + e] = b
})(jQuery);
(function (b, c) {
    var f = { buttons: true, height: true, maxHeight: true, maxWidth: true, minHeight: true, minWidth: true, width: true }, g = { maxHeight: true, maxWidth: true, minHeight: true, minWidth: true }; b.widget("ui.dialog", { options: { autoOpen: true, buttons: {}, closeOnEscape: true, closeText: "close", dialogClass: "", draggable: true, hide: null, height: "auto", maxHeight: false, maxWidth: false, minHeight: 150, minWidth: 150, modal: false, position: { my: "center", at: "center", collision: "fit", using: function (e) {
        var a = b(this).css(e).offset().top; a < 0 &&
b(this).css("top", e.top - a)
    } 
    }, resizable: true, show: null, stack: true, title: "", width: 300, zIndex: 1E3
    }, _create: function () {
        this.originalTitle = this.element.attr("title"); if (typeof this.originalTitle !== "string") this.originalTitle = ""; this.options.title = this.options.title || this.originalTitle; var e = this, a = e.options, d = a.title || "&#160;", h = b.ui.dialog.getTitleId(e.element), i = (e.uiDialog = b("<div></div>")).appendTo(document.body).hide().addClass("ui-dialog ui-widget ui-widget-content ui-corner-all " + a.dialogClass).css({ zIndex: a.zIndex }).attr("tabIndex",
-1).css("outline", 0).keydown(function (q) { if (a.closeOnEscape && q.keyCode && q.keyCode === b.ui.keyCode.ESCAPE) { e.close(q); q.preventDefault() } }).attr({ role: "dialog", "aria-labelledby": h }).mousedown(function (q) { e.moveToTop(false, q) }); e.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(i); var j = (e.uiDialogTitlebar = b("<div></div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(i), n = b('<a href="#"></a>').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role",
"button").hover(function () { n.addClass("ui-state-hover") }, function () { n.removeClass("ui-state-hover") }).focus(function () { n.addClass("ui-state-focus") }).blur(function () { n.removeClass("ui-state-focus") }).click(function (q) { e.close(q); return false }).appendTo(j); (e.uiDialogTitlebarCloseText = b("<span></span>")).addClass("ui-icon ui-icon-closethick").text(a.closeText).appendTo(n); b("<span></span>").addClass("ui-dialog-title").attr("id", h).html(d).prependTo(j); if (b.isFunction(a.beforeclose) && !b.isFunction(a.beforeClose)) a.beforeClose =
a.beforeclose; j.find("*").add(j).disableSelection(); a.draggable && b.fn.draggable && e._makeDraggable(); a.resizable && b.fn.resizable && e._makeResizable(); e._createButtons(a.buttons); e._isOpen = false; b.fn.bgiframe && i.bgiframe()
    }, _init: function () { this.options.autoOpen && this.open() }, destroy: function () {
        var e = this; e.overlay && e.overlay.destroy(); e.uiDialog.hide(); e.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body"); e.uiDialog.remove(); e.originalTitle &&
e.element.attr("title", e.originalTitle); return e
    }, widget: function () { return this.uiDialog }, close: function (e) {
        var a = this, d, h; if (false !== a._trigger("beforeClose", e)) {
            a.overlay && a.overlay.destroy(); a.uiDialog.unbind("keypress.ui-dialog"); a._isOpen = false; if (a.options.hide) a.uiDialog.hide(a.options.hide, function () { a._trigger("close", e) }); else { a.uiDialog.hide(); a._trigger("close", e) } b.ui.dialog.overlay.resize(); if (a.options.modal) {
                d = 0; b(".ui-dialog").each(function () {
                    if (this !== a.uiDialog[0]) {
                        h = b(this).css("z-index");
                        isNaN(h) || (d = Math.max(d, h))
                    } 
                }); b.ui.dialog.maxZ = d
            } return a
        } 
    }, isOpen: function () { return this._isOpen }, moveToTop: function (e, a) {
        var d = this, h = d.options; if (h.modal && !e || !h.stack && !h.modal) return d._trigger("focus", a); if (h.zIndex > b.ui.dialog.maxZ) b.ui.dialog.maxZ = h.zIndex; if (d.overlay) { b.ui.dialog.maxZ += 1; d.overlay.$el.css("z-index", b.ui.dialog.overlay.maxZ = b.ui.dialog.maxZ) } e = { scrollTop: d.element.attr("scrollTop"), scrollLeft: d.element.attr("scrollLeft") }; b.ui.dialog.maxZ += 1; d.uiDialog.css("z-index", b.ui.dialog.maxZ);
        d.element.attr(e); d._trigger("focus", a); return d
    }, open: function () {
        if (!this._isOpen) {
            var e = this, a = e.options, d = e.uiDialog; e.overlay = a.modal ? new b.ui.dialog.overlay(e) : null; e._size(); e._position(a.position); d.show(a.show); e.moveToTop(true); a.modal && d.bind("keypress.ui-dialog", function (h) { if (h.keyCode === b.ui.keyCode.TAB) { var i = b(":tabbable", this), j = i.filter(":first"); i = i.filter(":last"); if (h.target === i[0] && !h.shiftKey) { j.focus(1); return false } else if (h.target === j[0] && h.shiftKey) { i.focus(1); return false } } });
            b(e.element.find(":tabbable").get().concat(d.find(".ui-dialog-buttonpane :tabbable").get().concat(d.get()))).eq(0).focus(); e._isOpen = true; e._trigger("open"); return e
        } 
    }, _createButtons: function (e) {
        var a = this, d = false, h = b("<div></div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"), i = b("<div></div>").addClass("ui-dialog-buttonset").appendTo(h); a.uiDialog.find(".ui-dialog-buttonpane").remove(); typeof e === "object" && e !== null && b.each(e, function () { return !(d = true) }); if (d) {
            b.each(e, function (j,
n) { n = b.isFunction(n) ? { click: n, text: j} : n; j = b('<button type="button"></button>').attr(n, true).unbind("click").click(function () { n.click.apply(a.element[0], arguments) }).appendTo(i); b.fn.button && j.button() }); h.appendTo(a.uiDialog)
        } 
    }, _makeDraggable: function () {
        function e(j) { return { position: j.position, offset: j.offset} } var a = this, d = a.options, h = b(document), i; a.uiDialog.draggable({ cancel: ".ui-dialog-content, .ui-dialog-titlebar-close", handle: ".ui-dialog-titlebar", containment: "document", start: function (j, n) {
            i =
d.height === "auto" ? "auto" : b(this).height(); b(this).height(b(this).height()).addClass("ui-dialog-dragging"); a._trigger("dragStart", j, e(n))
        }, drag: function (j, n) { a._trigger("drag", j, e(n)) }, stop: function (j, n) { d.position = [n.position.left - h.scrollLeft(), n.position.top - h.scrollTop()]; b(this).removeClass("ui-dialog-dragging").height(i); a._trigger("dragStop", j, e(n)); b.ui.dialog.overlay.resize() } 
        })
    }, _makeResizable: function (e) {
        function a(j) {
            return { originalPosition: j.originalPosition, originalSize: j.originalSize,
                position: j.position, size: j.size
            }
        } e = e === c ? this.options.resizable : e; var d = this, h = d.options, i = d.uiDialog.css("position"); e = typeof e === "string" ? e : "n,e,s,w,se,sw,ne,nw"; d.uiDialog.resizable({ cancel: ".ui-dialog-content", containment: "document", alsoResize: d.element, maxWidth: h.maxWidth, maxHeight: h.maxHeight, minWidth: h.minWidth, minHeight: d._minHeight(), handles: e, start: function (j, n) { b(this).addClass("ui-dialog-resizing"); d._trigger("resizeStart", j, a(n)) }, resize: function (j, n) { d._trigger("resize", j, a(n)) }, stop: function (j,
n) { b(this).removeClass("ui-dialog-resizing"); h.height = b(this).height(); h.width = b(this).width(); d._trigger("resizeStop", j, a(n)); b.ui.dialog.overlay.resize() } 
        }).css("position", i).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")
    }, _minHeight: function () { var e = this.options; return e.height === "auto" ? e.minHeight : Math.min(e.minHeight, e.height) }, _position: function (e) {
        var a = [], d = [0, 0], h; if (e) {
            if (typeof e === "string" || typeof e === "object" && "0" in e) {
                a = e.split ? e.split(" ") : [e[0], e[1]]; if (a.length ===
1) a[1] = a[0]; b.each(["left", "top"], function (i, j) { if (+a[i] === a[i]) { d[i] = a[i]; a[i] = j } }); e = { my: a.join(" "), at: a.join(" "), offset: d.join(" ")}
            } e = b.extend({}, b.ui.dialog.prototype.options.position, e)
        } else e = b.ui.dialog.prototype.options.position; (h = this.uiDialog.is(":visible")) || this.uiDialog.show(); this.uiDialog.css({ top: 0, left: 0 }).position(b.extend({ of: window }, e)); h || this.uiDialog.hide()
    }, _setOptions: function (e) {
        var a = this, d = {}, h = false; b.each(e, function (i, j) {
            a._setOption(i, j); if (i in f) h = true; if (i in
g) d[i] = j
        }); h && this._size(); this.uiDialog.is(":data(resizable)") && this.uiDialog.resizable("option", d)
    }, _setOption: function (e, a) {
        var d = this, h = d.uiDialog; switch (e) {
            case "beforeclose": e = "beforeClose"; break; case "buttons": d._createButtons(a); break; case "closeText": d.uiDialogTitlebarCloseText.text("" + a); break; case "dialogClass": h.removeClass(d.options.dialogClass).addClass("ui-dialog ui-widget ui-widget-content ui-corner-all " + a); break; case "disabled": a ? h.addClass("ui-dialog-disabled") : h.removeClass("ui-dialog-disabled");
                break; case "draggable": var i = h.is(":data(draggable)"); i && !a && h.draggable("destroy"); !i && a && d._makeDraggable(); break; case "position": d._position(a); break; case "resizable": (i = h.is(":data(resizable)")) && !a && h.resizable("destroy"); i && typeof a === "string" && h.resizable("option", "handles", a); !i && a !== false && d._makeResizable(a); break; case "title": b(".ui-dialog-title", d.uiDialogTitlebar).html("" + (a || "&#160;")); break
        } b.Widget.prototype._setOption.apply(d, arguments)
    }, _size: function () {
        var e = this.options, a, d, h =
this.uiDialog.is(":visible"); this.element.show().css({ width: "auto", minHeight: 0, height: 0 }); if (e.minWidth > e.width) e.width = e.minWidth; a = this.uiDialog.css({ height: "auto", width: e.width }).height(); d = Math.max(0, e.minHeight - a); if (e.height === "auto") if (b.support.minHeight) this.element.css({ minHeight: d, height: "auto" }); else { this.uiDialog.show(); e = this.element.css("height", "auto").height(); h || this.uiDialog.hide(); this.element.height(Math.max(e, d)) } else this.element.height(Math.max(e.height - a, 0)); this.uiDialog.is(":data(resizable)") &&
this.uiDialog.resizable("option", "minHeight", this._minHeight())
    } 
    }); b.extend(b.ui.dialog, { version: "1.8.7", uuid: 0, maxZ: 0, getTitleId: function (e) { e = e.attr("id"); if (!e) { this.uuid += 1; e = this.uuid } return "ui-dialog-title-" + e }, overlay: function (e) { this.$el = b.ui.dialog.overlay.create(e) } }); b.extend(b.ui.dialog.overlay, { instances: [], oldInstances: [], maxZ: 0, events: b.map("focus,mousedown,mouseup,keydown,keypress,click".split(","), function (e) { return e + ".dialog-overlay" }).join(" "), create: function (e) {
        if (this.instances.length ===
0) { setTimeout(function () { b.ui.dialog.overlay.instances.length && b(document).bind(b.ui.dialog.overlay.events, function (d) { if (b(d.target).zIndex() < b.ui.dialog.overlay.maxZ) return false }) }, 1); b(document).bind("keydown.dialog-overlay", function (d) { if (e.options.closeOnEscape && d.keyCode && d.keyCode === b.ui.keyCode.ESCAPE) { e.close(d); d.preventDefault() } }); b(window).bind("resize.dialog-overlay", b.ui.dialog.overlay.resize) } var a = (this.oldInstances.pop() || b("<div></div>").addClass("ui-widget-overlay")).appendTo(document.body).css({ width: this.width(),
    height: this.height()
}); b.fn.bgiframe && a.bgiframe(); this.instances.push(a); return a
    }, destroy: function (e) { var a = b.inArray(e, this.instances); a != -1 && this.oldInstances.push(this.instances.splice(a, 1)[0]); this.instances.length === 0 && b([document, window]).unbind(".dialog-overlay"); e.remove(); var d = 0; b.each(this.instances, function () { d = Math.max(d, this.css("z-index")) }); this.maxZ = d }, height: function () {
        var e, a; if (b.browser.msie && b.browser.version < 7) {
            e = Math.max(document.documentElement.scrollHeight, document.body.scrollHeight);
            a = Math.max(document.documentElement.offsetHeight, document.body.offsetHeight); return e < a ? b(window).height() + "px" : e + "px"
        } else return b(document).height() + "px"
    }, width: function () { var e, a; if (b.browser.msie && b.browser.version < 7) { e = Math.max(document.documentElement.scrollWidth, document.body.scrollWidth); a = Math.max(document.documentElement.offsetWidth, document.body.offsetWidth); return e < a ? b(window).width() + "px" : e + "px" } else return b(document).width() + "px" }, resize: function () {
        var e = b([]); b.each(b.ui.dialog.overlay.instances,
function () { e = e.add(this) }); e.css({ width: 0, height: 0 }).css({ width: b.ui.dialog.overlay.width(), height: b.ui.dialog.overlay.height() })
    } 
    }); b.extend(b.ui.dialog.overlay.prototype, { destroy: function () { b.ui.dialog.overlay.destroy(this.$el) } })
})(jQuery);
(function (b) {
    b.ui = b.ui || {}; var c = /left|center|right/, f = /top|center|bottom/, g = b.fn.position, e = b.fn.offset; b.fn.position = function (a) {
        if (!a || !a.of) return g.apply(this, arguments); a = b.extend({}, a); var d = b(a.of), h = d[0], i = (a.collision || "flip").split(" "), j = a.offset ? a.offset.split(" ") : [0, 0], n, q, l; if (h.nodeType === 9) { n = d.width(); q = d.height(); l = { top: 0, left: 0} } else if (h.setTimeout) { n = d.width(); q = d.height(); l = { top: d.scrollTop(), left: d.scrollLeft()} } else if (h.preventDefault) {
            a.at = "left top"; n = q = 0; l = { top: a.of.pageY,
                left: a.of.pageX
            }
        } else { n = d.outerWidth(); q = d.outerHeight(); l = d.offset() } b.each(["my", "at"], function () { var k = (a[this] || "").split(" "); if (k.length === 1) k = c.test(k[0]) ? k.concat(["center"]) : f.test(k[0]) ? ["center"].concat(k) : ["center", "center"]; k[0] = c.test(k[0]) ? k[0] : "center"; k[1] = f.test(k[1]) ? k[1] : "center"; a[this] = k }); if (i.length === 1) i[1] = i[0]; j[0] = parseInt(j[0], 10) || 0; if (j.length === 1) j[1] = j[0]; j[1] = parseInt(j[1], 10) || 0; if (a.at[0] === "right") l.left += n; else if (a.at[0] === "center") l.left += n / 2; if (a.at[1] === "bottom") l.top +=
q; else if (a.at[1] === "center") l.top += q / 2; l.left += j[0]; l.top += j[1]; return this.each(function () {
    var k = b(this), m = k.outerWidth(), o = k.outerHeight(), p = parseInt(b.curCSS(this, "marginLeft", true)) || 0, s = parseInt(b.curCSS(this, "marginTop", true)) || 0, r = m + p + parseInt(b.curCSS(this, "marginRight", true)) || 0, u = o + s + parseInt(b.curCSS(this, "marginBottom", true)) || 0, v = b.extend({}, l), w; if (a.my[0] === "right") v.left -= m; else if (a.my[0] === "center") v.left -= m / 2; if (a.my[1] === "bottom") v.top -= o; else if (a.my[1] === "center") v.top -= o / 2;
    v.left = Math.round(v.left); v.top = Math.round(v.top); w = { left: v.left - p, top: v.top - s }; b.each(["left", "top"], function (y, B) { b.ui.position[i[y]] && b.ui.position[i[y]][B](v, { targetWidth: n, targetHeight: q, elemWidth: m, elemHeight: o, collisionPosition: w, collisionWidth: r, collisionHeight: u, offset: j, my: a.my, at: a.at }) }); b.fn.bgiframe && k.bgiframe(); k.offset(b.extend(v, { using: a.using }))
})
    }; b.ui.position = { fit: { left: function (a, d) {
        var h = b(window); h = d.collisionPosition.left + d.collisionWidth - h.width() - h.scrollLeft(); a.left =
h > 0 ? a.left - h : Math.max(a.left - d.collisionPosition.left, a.left)
    }, top: function (a, d) { var h = b(window); h = d.collisionPosition.top + d.collisionHeight - h.height() - h.scrollTop(); a.top = h > 0 ? a.top - h : Math.max(a.top - d.collisionPosition.top, a.top) } 
    }, flip: { left: function (a, d) {
        if (d.at[0] !== "center") {
            var h = b(window); h = d.collisionPosition.left + d.collisionWidth - h.width() - h.scrollLeft(); var i = d.my[0] === "left" ? -d.elemWidth : d.my[0] === "right" ? d.elemWidth : 0, j = d.at[0] === "left" ? d.targetWidth : -d.targetWidth, n = -2 * d.offset[0]; a.left +=
d.collisionPosition.left < 0 ? i + j + n : h > 0 ? i + j + n : 0
        } 
    }, top: function (a, d) { if (d.at[1] !== "center") { var h = b(window); h = d.collisionPosition.top + d.collisionHeight - h.height() - h.scrollTop(); var i = d.my[1] === "top" ? -d.elemHeight : d.my[1] === "bottom" ? d.elemHeight : 0, j = d.at[1] === "top" ? d.targetHeight : -d.targetHeight, n = -2 * d.offset[1]; a.top += d.collisionPosition.top < 0 ? i + j + n : h > 0 ? i + j + n : 0 } } 
    }
    }; if (!b.offset.setOffset) {
        b.offset.setOffset = function (a, d) {
            if (/static/.test(b.curCSS(a, "position"))) a.style.position = "relative"; var h = b(a),
i = h.offset(), j = parseInt(b.curCSS(a, "top", true), 10) || 0, n = parseInt(b.curCSS(a, "left", true), 10) || 0; i = { top: d.top - i.top + j, left: d.left - i.left + n }; "using" in d ? d.using.call(a, i) : h.css(i)
        }; b.fn.offset = function (a) { var d = this[0]; if (!d || !d.ownerDocument) return null; if (a) return this.each(function () { b.offset.setOffset(this, a) }); return e.call(this) } 
    } 
})(jQuery);
(function (b, c) {
    b.widget("ui.progressbar", { options: { value: 0, max: 100 }, min: 0, _create: function () { this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({ role: "progressbar", "aria-valuemin": this.min, "aria-valuemax": this.options.max, "aria-valuenow": this._value() }); this.valueDiv = b("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element); this.oldValue = this._value(); this._refreshValue() }, destroy: function () {
        this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow");
        this.valueDiv.remove(); b.Widget.prototype.destroy.apply(this, arguments)
    }, value: function (f) { if (f === c) return this._value(); this._setOption("value", f); return this }, _setOption: function (f, g) { if (f === "value") { this.options.value = g; this._refreshValue(); this._value() === this.options.max && this._trigger("complete") } b.Widget.prototype._setOption.apply(this, arguments) }, _value: function () { var f = this.options.value; if (typeof f !== "number") f = 0; return Math.min(this.options.max, Math.max(this.min, f)) }, _percentage: function () {
        return 100 *
this._value() / this.options.max
    }, _refreshValue: function () { var f = this.value(), g = this._percentage(); if (this.oldValue !== f) { this.oldValue = f; this._trigger("change") } this.valueDiv.toggleClass("ui-corner-right", f === this.options.max).width(g.toFixed(0) + "%"); this.element.attr("aria-valuenow", f) } 
    }); b.extend(b.ui.progressbar, { version: "1.8.7" })
})(jQuery);
(function (b) {
    b.widget("ui.slider", b.ui.mouse, { widgetEventPrefix: "slide", options: { animate: false, distance: 0, max: 100, min: 0, orientation: "horizontal", range: false, step: 1, value: 0, values: null }, _create: function () {
        var c = this, f = this.options; this._mouseSliding = this._keySliding = false; this._animateOff = true; this._handleIndex = null; this._detectOrientation(); this._mouseInit(); this.element.addClass("ui-slider ui-slider-" + this.orientation + " ui-widget ui-widget-content ui-corner-all"); f.disabled && this.element.addClass("ui-slider-disabled ui-disabled");
        this.range = b([]); if (f.range) { if (f.range === true) { this.range = b("<div></div>"); if (!f.values) f.values = [this._valueMin(), this._valueMin()]; if (f.values.length && f.values.length !== 2) f.values = [f.values[0], f.values[0]] } else this.range = b("<div></div>"); this.range.appendTo(this.element).addClass("ui-slider-range"); if (f.range === "min" || f.range === "max") this.range.addClass("ui-slider-range-" + f.range); this.range.addClass("ui-widget-header") } b(".ui-slider-handle", this.element).length === 0 && b("<a href='#'></a>").appendTo(this.element).addClass("ui-slider-handle");
        if (f.values && f.values.length) for (; b(".ui-slider-handle", this.element).length < f.values.length; ) b("<a href='#'></a>").appendTo(this.element).addClass("ui-slider-handle"); this.handles = b(".ui-slider-handle", this.element).addClass("ui-state-default ui-corner-all"); this.handle = this.handles.eq(0); this.handles.add(this.range).filter("a").click(function (g) { g.preventDefault() }).hover(function () { f.disabled || b(this).addClass("ui-state-hover") }, function () { b(this).removeClass("ui-state-hover") }).focus(function () {
            if (f.disabled) b(this).blur();
            else { b(".ui-slider .ui-state-focus").removeClass("ui-state-focus"); b(this).addClass("ui-state-focus") } 
        }).blur(function () { b(this).removeClass("ui-state-focus") }); this.handles.each(function (g) { b(this).data("index.ui-slider-handle", g) }); this.handles.keydown(function (g) {
            var e = true, a = b(this).data("index.ui-slider-handle"), d, h, i; if (!c.options.disabled) {
                switch (g.keyCode) {
                    case b.ui.keyCode.HOME: case b.ui.keyCode.END: case b.ui.keyCode.PAGE_UP: case b.ui.keyCode.PAGE_DOWN: case b.ui.keyCode.UP: case b.ui.keyCode.RIGHT: case b.ui.keyCode.DOWN: case b.ui.keyCode.LEFT: e =
false; if (!c._keySliding) { c._keySliding = true; b(this).addClass("ui-state-active"); d = c._start(g, a); if (d === false) return } break
                } i = c.options.step; d = c.options.values && c.options.values.length ? (h = c.values(a)) : (h = c.value()); switch (g.keyCode) {
                    case b.ui.keyCode.HOME: h = c._valueMin(); break; case b.ui.keyCode.END: h = c._valueMax(); break; case b.ui.keyCode.PAGE_UP: h = c._trimAlignValue(d + (c._valueMax() - c._valueMin()) / 5); break; case b.ui.keyCode.PAGE_DOWN: h = c._trimAlignValue(d - (c._valueMax() - c._valueMin()) / 5); break; case b.ui.keyCode.UP: case b.ui.keyCode.RIGHT: if (d ===
c._valueMax()) return; h = c._trimAlignValue(d + i); break; case b.ui.keyCode.DOWN: case b.ui.keyCode.LEFT: if (d === c._valueMin()) return; h = c._trimAlignValue(d - i); break
                } c._slide(g, a, h); return e
            } 
        }).keyup(function (g) { var e = b(this).data("index.ui-slider-handle"); if (c._keySliding) { c._keySliding = false; c._stop(g, e); c._change(g, e); b(this).removeClass("ui-state-active") } }); this._refreshValue(); this._animateOff = false
    }, destroy: function () {
        this.handles.remove(); this.range.remove(); this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider");
        this._mouseDestroy(); return this
    }, _mouseCapture: function (c) {
        var f = this.options, g, e, a, d, h; if (f.disabled) return false; this.elementSize = { width: this.element.outerWidth(), height: this.element.outerHeight() }; this.elementOffset = this.element.offset(); g = this._normValueFromMouse({ x: c.pageX, y: c.pageY }); e = this._valueMax() - this._valueMin() + 1; d = this; this.handles.each(function (i) { var j = Math.abs(g - d.values(i)); if (e > j) { e = j; a = b(this); h = i } }); if (f.range === true && this.values(1) === f.min) { h += 1; a = b(this.handles[h]) } if (this._start(c,
h) === false) return false; this._mouseSliding = true; d._handleIndex = h; a.addClass("ui-state-active").focus(); f = a.offset(); this._clickOffset = !b(c.target).parents().andSelf().is(".ui-slider-handle") ? { left: 0, top: 0} : { left: c.pageX - f.left - a.width() / 2, top: c.pageY - f.top - a.height() / 2 - (parseInt(a.css("borderTopWidth"), 10) || 0) - (parseInt(a.css("borderBottomWidth"), 10) || 0) + (parseInt(a.css("marginTop"), 10) || 0) }; this.handles.hasClass("ui-state-hover") || this._slide(c, h, g); return this._animateOff = true
    }, _mouseStart: function () { return true },
        _mouseDrag: function (c) { var f = this._normValueFromMouse({ x: c.pageX, y: c.pageY }); this._slide(c, this._handleIndex, f); return false }, _mouseStop: function (c) { this.handles.removeClass("ui-state-active"); this._mouseSliding = false; this._stop(c, this._handleIndex); this._change(c, this._handleIndex); this._clickOffset = this._handleIndex = null; return this._animateOff = false }, _detectOrientation: function () { this.orientation = this.options.orientation === "vertical" ? "vertical" : "horizontal" }, _normValueFromMouse: function (c) {
            var f;
            if (this.orientation === "horizontal") { f = this.elementSize.width; c = c.x - this.elementOffset.left - (this._clickOffset ? this._clickOffset.left : 0) } else { f = this.elementSize.height; c = c.y - this.elementOffset.top - (this._clickOffset ? this._clickOffset.top : 0) } f = c / f; if (f > 1) f = 1; if (f < 0) f = 0; if (this.orientation === "vertical") f = 1 - f; c = this._valueMax() - this._valueMin(); return this._trimAlignValue(this._valueMin() + f * c)
        }, _start: function (c, f) {
            var g = { handle: this.handles[f], value: this.value() }; if (this.options.values && this.options.values.length) {
                g.value =
this.values(f); g.values = this.values()
            } return this._trigger("start", c, g)
        }, _slide: function (c, f, g) {
            var e; if (this.options.values && this.options.values.length) { e = this.values(f ? 0 : 1); if (this.options.values.length === 2 && this.options.range === true && (f === 0 && g > e || f === 1 && g < e)) g = e; if (g !== this.values(f)) { e = this.values(); e[f] = g; c = this._trigger("slide", c, { handle: this.handles[f], value: g, values: e }); this.values(f ? 0 : 1); c !== false && this.values(f, g, true) } } else if (g !== this.value()) {
                c = this._trigger("slide", c, { handle: this.handles[f],
                    value: g
                }); c !== false && this.value(g)
            } 
        }, _stop: function (c, f) { var g = { handle: this.handles[f], value: this.value() }; if (this.options.values && this.options.values.length) { g.value = this.values(f); g.values = this.values() } this._trigger("stop", c, g) }, _change: function (c, f) { if (!this._keySliding && !this._mouseSliding) { var g = { handle: this.handles[f], value: this.value() }; if (this.options.values && this.options.values.length) { g.value = this.values(f); g.values = this.values() } this._trigger("change", c, g) } }, value: function (c) {
            if (arguments.length) {
                this.options.value =
this._trimAlignValue(c); this._refreshValue(); this._change(null, 0)
            } return this._value()
        }, values: function (c, f) {
            var g, e, a; if (arguments.length > 1) { this.options.values[c] = this._trimAlignValue(f); this._refreshValue(); this._change(null, c) } if (arguments.length) if (b.isArray(arguments[0])) { g = this.options.values; e = arguments[0]; for (a = 0; a < g.length; a += 1) { g[a] = this._trimAlignValue(e[a]); this._change(null, a) } this._refreshValue() } else return this.options.values && this.options.values.length ? this._values(c) : this.value();
            else return this._values()
        }, _setOption: function (c, f) {
            var g, e = 0; if (b.isArray(this.options.values)) e = this.options.values.length; b.Widget.prototype._setOption.apply(this, arguments); switch (c) {
                case "disabled": if (f) { this.handles.filter(".ui-state-focus").blur(); this.handles.removeClass("ui-state-hover"); this.handles.attr("disabled", "disabled"); this.element.addClass("ui-disabled") } else { this.handles.removeAttr("disabled"); this.element.removeClass("ui-disabled") } break; case "orientation": this._detectOrientation();
                    this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-" + this.orientation); this._refreshValue(); break; case "value": this._animateOff = true; this._refreshValue(); this._change(null, 0); this._animateOff = false; break; case "values": this._animateOff = true; this._refreshValue(); for (g = 0; g < e; g += 1) this._change(null, g); this._animateOff = false; break
            } 
        }, _value: function () { var c = this.options.value; return c = this._trimAlignValue(c) }, _values: function (c) {
            var f, g; if (arguments.length) {
                f = this.options.values[c];
                return f = this._trimAlignValue(f)
            } else { f = this.options.values.slice(); for (g = 0; g < f.length; g += 1) f[g] = this._trimAlignValue(f[g]); return f } 
        }, _trimAlignValue: function (c) { if (c <= this._valueMin()) return this._valueMin(); if (c >= this._valueMax()) return this._valueMax(); var f = this.options.step > 0 ? this.options.step : 1, g = (c - this._valueMin()) % f; alignValue = c - g; if (Math.abs(g) * 2 >= f) alignValue += g > 0 ? f : -f; return parseFloat(alignValue.toFixed(5)) }, _valueMin: function () { return this.options.min }, _valueMax: function () { return this.options.max },
        _refreshValue: function () {
            var c = this.options.range, f = this.options, g = this, e = !this._animateOff ? f.animate : false, a, d = {}, h, i, j, n; if (this.options.values && this.options.values.length) this.handles.each(function (q) {
                a = (g.values(q) - g._valueMin()) / (g._valueMax() - g._valueMin()) * 100; d[g.orientation === "horizontal" ? "left" : "bottom"] = a + "%"; b(this).stop(1, 1)[e ? "animate" : "css"](d, f.animate); if (g.options.range === true) if (g.orientation === "horizontal") {
                    if (q === 0) g.range.stop(1, 1)[e ? "animate" : "css"]({ left: a + "%" }, f.animate);
                    if (q === 1) g.range[e ? "animate" : "css"]({ width: a - h + "%" }, { queue: false, duration: f.animate })
                } else { if (q === 0) g.range.stop(1, 1)[e ? "animate" : "css"]({ bottom: a + "%" }, f.animate); if (q === 1) g.range[e ? "animate" : "css"]({ height: a - h + "%" }, { queue: false, duration: f.animate }) } h = a
            }); else {
                i = this.value(); j = this._valueMin(); n = this._valueMax(); a = n !== j ? (i - j) / (n - j) * 100 : 0; d[g.orientation === "horizontal" ? "left" : "bottom"] = a + "%"; this.handle.stop(1, 1)[e ? "animate" : "css"](d, f.animate); if (c === "min" && this.orientation === "horizontal") this.range.stop(1,
1)[e ? "animate" : "css"]({ width: a + "%" }, f.animate); if (c === "max" && this.orientation === "horizontal") this.range[e ? "animate" : "css"]({ width: 100 - a + "%" }, { queue: false, duration: f.animate }); if (c === "min" && this.orientation === "vertical") this.range.stop(1, 1)[e ? "animate" : "css"]({ height: a + "%" }, f.animate); if (c === "max" && this.orientation === "vertical") this.range[e ? "animate" : "css"]({ height: 100 - a + "%" }, { queue: false, duration: f.animate })
            } 
        } 
    }); b.extend(b.ui.slider, { version: "1.8.7" })
})(jQuery);
(function (b, c) {
    function f() { return ++e } function g() { return ++a } var e = 0, a = 0; b.widget("ui.tabs", { options: { add: null, ajaxOptions: null, cache: false, cookie: null, collapsible: false, disable: null, disabled: [], enable: null, event: "click", fx: null, idPrefix: "ui-tabs-", load: null, panelTemplate: "<div></div>", remove: null, select: null, show: null, spinner: "<em>Loading&#8230;</em>", tabTemplate: "<li><a href='#{href}'><span>#{label}</span></a></li>" }, _create: function () { this._tabify(true) }, _setOption: function (d, h) {
        if (d == "selected") this.options.collapsible &&
h == this.options.selected || this.select(h); else { this.options[d] = h; this._tabify() } 
    }, _tabId: function (d) { return d.title && d.title.replace(/\s/g, "_").replace(/[^\w\u00c0-\uFFFF-]/g, "") || this.options.idPrefix + f() }, _sanitizeSelector: function (d) { return d.replace(/:/g, "\\:") }, _cookie: function () { var d = this.cookie || (this.cookie = this.options.cookie.name || "ui-tabs-" + g()); return b.cookie.apply(null, [d].concat(b.makeArray(arguments))) }, _ui: function (d, h) { return { tab: d, panel: h, index: this.anchors.index(d)} }, _cleanup: function () {
        this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function () {
            var d =
b(this); d.html(d.data("label.tabs")).removeData("label.tabs")
        })
    }, _tabify: function (d) {
        function h(r, u) { r.css("display", ""); !b.support.opacity && u.opacity && r[0].style.removeAttribute("filter") } var i = this, j = this.options, n = /^#.+/; this.list = this.element.find("ol,ul").eq(0); this.lis = b(" > li:has(a[href])", this.list); this.anchors = this.lis.map(function () { return b("a", this)[0] }); this.panels = b([]); this.anchors.each(function (r, u) {
            var v = b(u).attr("href"), w = v.split("#")[0], y; if (w && (w === location.toString().split("#")[0] ||
(y = b("base")[0]) && w === y.href)) { v = u.hash; u.href = v } if (n.test(v)) i.panels = i.panels.add(i.element.find(i._sanitizeSelector(v))); else if (v && v !== "#") { b.data(u, "href.tabs", v); b.data(u, "load.tabs", v.replace(/#.*$/, "")); v = i._tabId(u); u.href = "#" + v; u = i.element.find("#" + v); if (!u.length) { u = b(j.panelTemplate).attr("id", v).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(i.panels[r - 1] || i.list); u.data("destroy.tabs", true) } i.panels = i.panels.add(u) } else j.disabled.push(r)
        }); if (d) {
            this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all");
            this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"); this.lis.addClass("ui-state-default ui-corner-top"); this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom"); if (j.selected === c) {
                location.hash && this.anchors.each(function (r, u) { if (u.hash == location.hash) { j.selected = r; return false } }); if (typeof j.selected !== "number" && j.cookie) j.selected = parseInt(i._cookie(), 10); if (typeof j.selected !== "number" && this.lis.filter(".ui-tabs-selected").length) j.selected =
this.lis.index(this.lis.filter(".ui-tabs-selected")); j.selected = j.selected || (this.lis.length ? 0 : -1)
            } else if (j.selected === null) j.selected = -1; j.selected = j.selected >= 0 && this.anchors[j.selected] || j.selected < 0 ? j.selected : 0; j.disabled = b.unique(j.disabled.concat(b.map(this.lis.filter(".ui-state-disabled"), function (r) { return i.lis.index(r) }))).sort(); b.inArray(j.selected, j.disabled) != -1 && j.disabled.splice(b.inArray(j.selected, j.disabled), 1); this.panels.addClass("ui-tabs-hide"); this.lis.removeClass("ui-tabs-selected ui-state-active");
            if (j.selected >= 0 && this.anchors.length) { i.element.find(i._sanitizeSelector(i.anchors[j.selected].hash)).removeClass("ui-tabs-hide"); this.lis.eq(j.selected).addClass("ui-tabs-selected ui-state-active"); i.element.queue("tabs", function () { i._trigger("show", null, i._ui(i.anchors[j.selected], i.element.find(i._sanitizeSelector(i.anchors[j.selected].hash)))) }); this.load(j.selected) } b(window).bind("unload", function () { i.lis.add(i.anchors).unbind(".tabs"); i.lis = i.anchors = i.panels = null })
        } else j.selected = this.lis.index(this.lis.filter(".ui-tabs-selected"));
        this.element[j.collapsible ? "addClass" : "removeClass"]("ui-tabs-collapsible"); j.cookie && this._cookie(j.selected, j.cookie); d = 0; for (var q; q = this.lis[d]; d++) b(q)[b.inArray(d, j.disabled) != -1 && !b(q).hasClass("ui-tabs-selected") ? "addClass" : "removeClass"]("ui-state-disabled"); j.cache === false && this.anchors.removeData("cache.tabs"); this.lis.add(this.anchors).unbind(".tabs"); if (j.event !== "mouseover") {
            var l = function (r, u) { u.is(":not(.ui-state-disabled)") && u.addClass("ui-state-" + r) }, k = function (r, u) {
                u.removeClass("ui-state-" +
r)
            }; this.lis.bind("mouseover.tabs", function () { l("hover", b(this)) }); this.lis.bind("mouseout.tabs", function () { k("hover", b(this)) }); this.anchors.bind("focus.tabs", function () { l("focus", b(this).closest("li")) }); this.anchors.bind("blur.tabs", function () { k("focus", b(this).closest("li")) })
        } var m, o; if (j.fx) if (b.isArray(j.fx)) { m = j.fx[0]; o = j.fx[1] } else m = o = j.fx; var p = o ? function (r, u) {
            b(r).closest("li").addClass("ui-tabs-selected ui-state-active"); u.hide().removeClass("ui-tabs-hide").animate(o, o.duration || "normal",
function () { h(u, o); i._trigger("show", null, i._ui(r, u[0])) })
        } : function (r, u) { b(r).closest("li").addClass("ui-tabs-selected ui-state-active"); u.removeClass("ui-tabs-hide"); i._trigger("show", null, i._ui(r, u[0])) }, s = m ? function (r, u) { u.animate(m, m.duration || "normal", function () { i.lis.removeClass("ui-tabs-selected ui-state-active"); u.addClass("ui-tabs-hide"); h(u, m); i.element.dequeue("tabs") }) } : function (r, u) { i.lis.removeClass("ui-tabs-selected ui-state-active"); u.addClass("ui-tabs-hide"); i.element.dequeue("tabs") };
        this.anchors.bind(j.event + ".tabs", function () {
            var r = this, u = b(r).closest("li"), v = i.panels.filter(":not(.ui-tabs-hide)"), w = i.element.find(i._sanitizeSelector(r.hash)); if (u.hasClass("ui-tabs-selected") && !j.collapsible || u.hasClass("ui-state-disabled") || u.hasClass("ui-state-processing") || i.panels.filter(":animated").length || i._trigger("select", null, i._ui(this, w[0])) === false) { this.blur(); return false } j.selected = i.anchors.index(this); i.abort(); if (j.collapsible) if (u.hasClass("ui-tabs-selected")) {
                j.selected =
-1; j.cookie && i._cookie(j.selected, j.cookie); i.element.queue("tabs", function () { s(r, v) }).dequeue("tabs"); this.blur(); return false
            } else if (!v.length) { j.cookie && i._cookie(j.selected, j.cookie); i.element.queue("tabs", function () { p(r, w) }); i.load(i.anchors.index(this)); this.blur(); return false } j.cookie && i._cookie(j.selected, j.cookie); if (w.length) { v.length && i.element.queue("tabs", function () { s(r, v) }); i.element.queue("tabs", function () { p(r, w) }); i.load(i.anchors.index(this)) } else throw "jQuery UI Tabs: Mismatching fragment identifier.";
            b.browser.msie && this.blur()
        }); this.anchors.bind("click.tabs", function () { return false })
    }, _getIndex: function (d) { if (typeof d == "string") d = this.anchors.index(this.anchors.filter("[href$=" + d + "]")); return d }, destroy: function () {
        var d = this.options; this.abort(); this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs"); this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"); this.anchors.each(function () {
            var h =
b.data(this, "href.tabs"); if (h) this.href = h; var i = b(this).unbind(".tabs"); b.each(["href", "load", "cache"], function (j, n) { i.removeData(n + ".tabs") })
        }); this.lis.unbind(".tabs").add(this.panels).each(function () { b.data(this, "destroy.tabs") ? b(this).remove() : b(this).removeClass("ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-state-hover ui-state-focus ui-state-disabled ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide") }); d.cookie && this._cookie(null, d.cookie); return this
    }, add: function (d,
h, i) {
        if (i === c) i = this.anchors.length; var j = this, n = this.options; h = b(n.tabTemplate.replace(/#\{href\}/g, d).replace(/#\{label\}/g, h)); d = !d.indexOf("#") ? d.replace("#", "") : this._tabId(b("a", h)[0]); h.addClass("ui-state-default ui-corner-top").data("destroy.tabs", true); var q = j.element.find("#" + d); q.length || (q = b(n.panelTemplate).attr("id", d).data("destroy.tabs", true)); q.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide"); if (i >= this.lis.length) { h.appendTo(this.list); q.appendTo(this.list[0].parentNode) } else {
            h.insertBefore(this.lis[i]);
            q.insertBefore(this.panels[i])
        } n.disabled = b.map(n.disabled, function (l) { return l >= i ? ++l : l }); this._tabify(); if (this.anchors.length == 1) { n.selected = 0; h.addClass("ui-tabs-selected ui-state-active"); q.removeClass("ui-tabs-hide"); this.element.queue("tabs", function () { j._trigger("show", null, j._ui(j.anchors[0], j.panels[0])) }); this.load(0) } this._trigger("add", null, this._ui(this.anchors[i], this.panels[i])); return this
    }, remove: function (d) {
        d = this._getIndex(d); var h = this.options, i = this.lis.eq(d).remove(), j = this.panels.eq(d).remove();
        if (i.hasClass("ui-tabs-selected") && this.anchors.length > 1) this.select(d + (d + 1 < this.anchors.length ? 1 : -1)); h.disabled = b.map(b.grep(h.disabled, function (n) { return n != d }), function (n) { return n >= d ? --n : n }); this._tabify(); this._trigger("remove", null, this._ui(i.find("a")[0], j[0])); return this
    }, enable: function (d) {
        d = this._getIndex(d); var h = this.options; if (b.inArray(d, h.disabled) != -1) {
            this.lis.eq(d).removeClass("ui-state-disabled"); h.disabled = b.grep(h.disabled, function (i) { return i != d }); this._trigger("enable", null,
this._ui(this.anchors[d], this.panels[d])); return this
        } 
    }, disable: function (d) { d = this._getIndex(d); var h = this.options; if (d != h.selected) { this.lis.eq(d).addClass("ui-state-disabled"); h.disabled.push(d); h.disabled.sort(); this._trigger("disable", null, this._ui(this.anchors[d], this.panels[d])) } return this }, select: function (d) { d = this._getIndex(d); if (d == -1) if (this.options.collapsible && this.options.selected != -1) d = this.options.selected; else return this; this.anchors.eq(d).trigger(this.options.event + ".tabs"); return this },
        load: function (d) {
            d = this._getIndex(d); var h = this, i = this.options, j = this.anchors.eq(d)[0], n = b.data(j, "load.tabs"); this.abort(); if (!n || this.element.queue("tabs").length !== 0 && b.data(j, "cache.tabs")) this.element.dequeue("tabs"); else {
                this.lis.eq(d).addClass("ui-state-processing"); if (i.spinner) { var q = b("span", j); q.data("label.tabs", q.html()).html(i.spinner) } this.xhr = b.ajax(b.extend({}, i.ajaxOptions, { url: n, success: function (l, k) {
                    h.element.find(h._sanitizeSelector(j.hash)).html(l); h._cleanup(); i.cache && b.data(j,
"cache.tabs", true); h._trigger("load", null, h._ui(h.anchors[d], h.panels[d])); try { i.ajaxOptions.success(l, k) } catch (m) { } 
                }, error: function (l, k) { h._cleanup(); h._trigger("load", null, h._ui(h.anchors[d], h.panels[d])); try { i.ajaxOptions.error(l, k, d, j) } catch (m) { } } 
                })); h.element.dequeue("tabs"); return this
            } 
        }, abort: function () { this.element.queue([]); this.panels.stop(false, true); this.element.queue("tabs", this.element.queue("tabs").splice(-2, 2)); if (this.xhr) { this.xhr.abort(); delete this.xhr } this._cleanup(); return this },
        url: function (d, h) { this.anchors.eq(d).removeData("cache.tabs").data("load.tabs", h); return this }, length: function () { return this.anchors.length } 
    }); b.extend(b.ui.tabs, { version: "1.8.7" }); b.extend(b.ui.tabs.prototype, { rotation: null, rotate: function (d, h) {
        var i = this, j = this.options, n = i._rotate || (i._rotate = function (q) { clearTimeout(i.rotation); i.rotation = setTimeout(function () { var l = j.selected; i.select(++l < i.anchors.length ? l : 0) }, d); q && q.stopPropagation() }); h = i._unrotate || (i._unrotate = !h ? function (q) {
            q.clientX &&
i.rotate(null)
        } : function () { t = j.selected; n() }); if (d) { this.element.bind("tabsshow", n); this.anchors.bind(j.event + ".tabs", h); n() } else { clearTimeout(i.rotation); this.element.unbind("tabsshow", n); this.anchors.unbind(j.event + ".tabs", h); delete this._rotate; delete this._unrotate } return this
    } 
    })
})(jQuery);
